Age | Commit message (Collapse) | Author |
|
* common.mk (clean-platform): use $(NULL) as portabile null device
name instead of hard coded /dev/null for the portability.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
revert "enum.c: optimize any? object allocations for Array and Hash"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* enum.c (enum_any): optimize object allocations for Array and
Hash when `each` is not redefined, always false if empty and the
case without a block. [fix GH-617]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* symbol.c (op_tbl): remove non-regular symbols.
* symbol.c (global_symbols): start from the next of the preserved
ID.
* symbol.c: (rb_id2str): op_tbl does not exceed tLAST_OP_ID.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
introduced in r46768. Object files containing dtrace probes should
be listed in DTRACE_DEPENDENT_OBJS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* symbol.c, symbol.h: Symbol class implementation and internals,
split from parse.y.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (clean-rdoc, clean-capi, clean-platform): integrate
from Makefile.in and win32/Makefile.sub.
* win32/Makefile.sub (RMALL): now use rm.bat instead of rmall.bat
which does not handle any options and convert slashes.
* win32/rmall.bat: no longer used. use rm.bat with -r instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
symbol for garbage dynamic symbol.
* common.mk: use gc.h by parse.y.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
any more.
Make new frozen string and replace with garbage frozen string.
* common.mk: use gc.h from string.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (clean-runnable): get rid of errors running again after
clean-runnable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (sizes.o): remove stale target.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (clean-runnable): remove files made by mkrunnable.
* common.mk (clean-extout): remove archir too.
* common.mk (clean-ext): remove timestamp directory
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (DEFAULT_PRELUDES): no longer configurable since
r43278, move from Makefile.in and win32/Makefile.sub.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* configure.in (--with-static-linked-ext): fix for extensions to
be linked statically.
* Makefile.in, common.mk: use ENCSTATIC for enc directory.
* ext/extmk.rb: supply dependencies of statically linked extension
libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/extmk.rb: use -C option for GNU make instead of shell.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk, defs/gmake.mk: fix install and uninstall dependencies
with parallel make.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* enc/jis/props.kwd: constify character property tables of JIS
based encodings by perfect hash.
* enc/euc_jp.c, enc/shift_jis.c: use character property functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
A doubly-linked list for tracking living threads guarantees
constant-time insert/delete performance with no corner cases of a
hash table. I chose this ccan implementation of doubly-linked
lists over the BSD sys/queue.h implementation since:
1) insertion and removal are both branchless
2) locality is improved if a struct may be a member of multiple lists
(0002 patch in Feature 9632 will introduce a secondary list
for waiting FDs)
This also increases cache locality during iteration: improving
performance in a new IO#close benchmark with many sleeping threads
while still scanning the same number of threads.
vm_thread_close 1.762
* vm_core.h (rb_vm_t): list_head and counter for living_threads
(rb_thread_t): vmlt_node for living_threads linkage
(rb_vm_living_threads_init): new function wrapper
(rb_vm_living_threads_insert): ditto
(rb_vm_living_threads_remove): ditto
* vm.c (rb_vm_living_threads_foreach): new function wrapper
* thread.c (terminate_i, thread_start_func_2, thread_create_core,
thread_fd_close_i, thread_fd_close): update to use new APIs
* vm.c (vm_mark_each_thread_func, rb_vm_mark, ruby_vm_destruct,
vm_memsize, vm_init2, Init_VM): ditto
* vm_trace.c (clear_trace_func_i, rb_clear_trace_func): ditto
* benchmark/bm_vm_thread_close.rb: added to show improvement
* ccan/build_assert/build_assert.h: added as a dependency of list.h
* ccan/check_type/check_type.h: ditto
* ccan/container_of/container_of.h: ditto
* ccan/licenses/BSD-MIT: ditto
* ccan/licenses/CC0: ditto
* ccan/str/str.h: ditto (stripped of unused macros)
* ccan/list/list.h: ditto
* common.mk: add CCAN_LIST_INCLUDES
[ruby-core:61871][Feature 9632 (part 1)]
Apologies for the size of this commit, but I think a good
doubly-linked list will be useful for future features, too.
This may be used to add ordering to a container_of-based hash
table to preserve compatibility if required (e.g. feature 9614).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Makefile.in (MKMAIN_CMD): Unused macro removed.
* win32/Makefile.sub (MKMAIN_CMD): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-core:60657] [Bug #9511]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* hash.c (rb_any_hash): use ID_SCOPE_SHIFT instead of magic number.
[Feature #9425]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
macros from vm_core.h to internal.h.
* string.c: remove dependency to "vm_core.h".
* common.mk: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (capi): flags cannot be separated by escaped newlines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (capi): ignore doxygen failure (temporarily).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor
constant macro to approximate decimal representation size of n-bits
integer.
* iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better
approximation.
* ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto.
* common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add
dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* template/verconf.h.tmpl: rename from .in since this is an erb
template file, but not for config.status.
* common.mk (verconf.h): rename the dependent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (Doxyfile): tool/file2lastrev.rb needs running with
BASERUBY since r43617. [ruby-dev:47823] [Bug #9169]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
for run.gdb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk, ext/rbconfig/sizeof: move RbConfig::SIZEOF to an
extension library to get rid of annoying nmake VPATH rule.
* inits.c (rb_call_inits), miniinit.c (Init_sizes): RbConfig::SIZEOF
is no loger built-in.
* template/sizes.c.tmpl (Init_sizeof): rename initialization function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ext/-test-/debug/depend, ext/date/depend: Update dependencies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ruby.c (process_options): use gem_prelude instead of requiring
rubygems directly when --enable=gems is given.
* Makefile.in (DEFAULT_PRELUDES): always use gem_prelude regardless of
--disable-rubygems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (sizes.c): revert r43137 and r43145, because the former
commit made sizes.c rebuild always each build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (sizes.c): now depends on PREP, which is miniruby if
native compile or fake.rb otherwise, to run MINIRUBY [Bug #8968]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (sizes.c): use MINIRUBY because Init_sizes() for miniruby
is defined in miniinit.c and miniruby does not depend on this file.
[Bug #8968]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (yes-test-sample): use RUNRUBY instead of MINIRUBY to set
runtime library path and run the built ruby. [Bug #8971]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (btest, btest-ruby, test-knownbug): add $(RUN_OPTS) to
ruby to be run, so that tests are runnable before making exts.
* common.mk (test-sample): ditto, and use $(MINIRUBY) as rubytest.rb
does not need extension libraries.
* tool/rubytest.rb: pass $(RUN_OPTS) to testing ruby using --run-opt.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (sizes.c): revert r42854 and r42883.
* win32/Makefile.sub (sizes.c): rule for outplace build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (sizes.c): try to fix for in-place build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
require extension libraries. The patch is from nobu
(Nobuyoshi Nakada).
* ext/thread/extconf.rb: for build ext/thread/thread.c.
* include/ruby/intern.h: ditto.
* thread.c: ditto.
* lib/thread.rb: removed and replaced by ext/thread/thread.c.
* ext/thread/thread.c: Queue, SizedQueue and ConditionVariable
implementations in C. This patch is based on patches from panaggio
(Ricardo Panaggio) and funny_falcon (Yura Sokolov) and ko1
(Koichi Sasada). [ruby-core:31513] [Feature #3620]
* test/thread/test_queue.rb (test_queue_thread_raise): add a test for
ensuring that killed thread should be removed from waiting threads.
It is based on a code by ko1 (Koichi Sasada). [ruby-core:45950]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (sizes.c): needs VPATH to outplace build with nmake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* template/sizes.c.tmpl: generate automatically by extracting
RUBY_CHECK_SIZEOF from configure.in.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (do-install-arch): install architecture dependent files
all, including libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* common.mk (bisect): run git-bisect with miniruby
* common.mk (bisect-ruby): run git-bisect with ruby
* tool/bisect.sh: script for git-bisect
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* win32/win32.c (rb_w32_write_console): use MultiByteToWideChar() for
the last step of conversion to WCHAR, to get rid of warnings from
rb_enc_find() in miniruby. [ruby-dev:47584] [Bug #8733]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* sizes.c (Init_sizes): define RbConfig::SIZEOF. [Feature #8568]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Because RubySpec often include tests which fails on CRuby even if
RubySpec is a test suite which verifies whether an implementation is
compatible with CRuby or not. Moreover recent mspec can't ignore specs
guarded with ruby_bug. It breaks running RubySpec with Ruby 1.8 because
those guards is used to avoid specs which cause stuck or crash.
Therefore we gave up tracking original and dicided to fork.
https://github.com/nurse/rubyspec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Move native thread related lines from vm_core.h.
And declare several functions "rb_nativethread_lock_*",
manipulate locking.
* common.mk: add thread_native.h.
* thread.c: add functions "rb_nativethread_lock_*".
* thraed.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t
to rb_nativethread_lock_t to make it clear that this lock is for
native thraeds, not for ruby threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Actually it can also be a directory or any argument for
test/unit runner. [Fixes GH-363]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|