summaryrefslogtreecommitdiff
path: root/common.mk
AgeCommit message (Collapse)Author
2015-11-09* test/runner.rb: use official repository for coverage tool.hsbt
* Makefile.in: ditto. * common.mk: ditto. * .gitignore: ignored third party repositories. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-09* common.mk: Use ruby organization url for simplecov repository.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-07common.mk: update dependencynobu
* common.mk: update dependency of string.o to id.h for r52479. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23common.mk: remove extra slashnobu
* common.mk (incs): remove extra slash before vm_call_iseq_optimized.inc. as nmake vpath syntax includes a separator, don't append it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23common.mk: vm_call_iseq_optimized.incnobu
* common.mk (incs): generate vm_call_iseq_optimized.inc too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23* vm_insnhelper.c: introduce new call handler for simple ISeqs.ko1
vm_call_iseq_setup_normal_0start() is simple, however it has some loops/conditions depends on ISeq::param.size and ISeq::local_size (in vm_push_frame(), inlined into this function). There are many simple methods which has a few parameters and local variables. So that this patch introduces several special functions generated in vm_call_iseq_optimized.inc by tool/mk_call_iseq_optimized.rb. This script makes vm_call_iseq_setup_normal_0start_Xparams_Ylocals() where X is 0 to 3 and Y is 1 to 6 (as current setting). In this case, X * Y = 24 functions are created. These functions creates fast method dispatch by inlining vm_push_frame() with immediate params/locals sizes. On my laptop, we can have the following results. vm2_method* 1.083 (8.3% faster) vm2_poly_method* 0.961 (3.4% slower) It shows 8.3% faster for inner loop method dispatch (hit inline cache), but 3.4% slower when inline cache miss because we need to find a suitable call handler. * common.mk: add a rule for vm_call_iseq_optimized.inc. * tool/mk_call_iseq_optimized.rb: added. * vm.c: include vm_call_iseq_optimized.inc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22common.mk: showflags only oncenobu
* common.mk (showflags): do not show flags from recursive make. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-19fix typos [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18* common.mk: add a comment how to use "make test-all"kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18* common.mk: add comments how to use "make benchmark"kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18* ChangeLog: Good-bye OS/2.kosaki
* common.mk: ditto. * configure.in: ditto. * dln_find.c: ditto. * ext/Setup.emx: ditto. * ext/extmk.rb: ditto. * ext/socket/extconf.rb: ditto. * ext/zlib/extconf.rb: ditto. * file.c: ditto. * include/ruby/defines.h: ditto. * io.c: ditto. * lib/mkmf.rb: ditto. * missing/os2.c: ditto. * process.c: ditto. * ruby.c: ditto. * NEWS: announce OS/2 is no longer supported. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-17* ruby.c (open_load_file): reset O_NONBLOCK after open.kosaki
Even if S_ISREG() is true, the file may be file on FUSE filesystem or something. We can't assume O_NONBLOCK is safe. Moreover, we should wait if the path is point to FIFO. That's FIFO semantics. GVL should be transparent from ruby script. Thus, just reopen without O_NONBLOCK for filling the requirements. [Bug #11060][Bug #11559] * ruby.c (loadopen_func): new for the above. * file.c (ruby_is_fd_loadable): new. for checks loadable file type of not. * file.c (rb_file_load_ok): use ruby_is_fd_loadble() * internal.h: add ruby_is_fd_loadble() * common.mk: now, ruby.o depend on thread.h. * test/ruby/test_require.rb (TestRequire#test_loading_fifo_threading_success): new test. This test successful case that loading from FIFO. * test/ruby/test_require.rb (TestRequire#test_loading_fifo_threading_raise): rename from test_loading_fifo_threading. You souldn't rescue an exception if you test raise or not. Moreover, this case should be caught IOError because load(FIFO) should be blocked until given any input. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-16file.c: non-blocking opennobu
* file.c (rb_file_load_ok): open in non-blocking mode withoout releasing GVL. don't care about others than regular files and directories. [ruby-dev:49272] [Bug #11559] * ruby.c (load_file_internal): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-09common.mk: separate test-testframeworknobu
* common.mk (check): separate test-testframework from test-all only when building check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-04gmake.mk: test ordernobu
* common.mk (test-almost): rename target to test other than test-frameworks. * defs/gmake.mk (test-almost): run after test-testframework. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-03common.mk: separate testsnobu
* common.mk (check): separate test-testframework and test-all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-02common.mk, lib/unicode_normalize/tables.rb: Change Unicodeduerst
Version for character normalization data from 7.0.0 to 8.0.0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-26common.mk: clear envs for GEMnobu
* common.mk: clear environment variables for GEM paths to get rid of searching unexpected gems. fix failures on travis-ci. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-18common.mk: no prefixesnobu
* common.mk (yes-test-testframework): remove unnecessary test directory prefixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-17* common.mk: fix command error with outside builddir.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-17* common.mk: separated test for test-framework from test-all task.hsbt
They should be invoke at first before tests of test-all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15dir.c: fundamental_encoding_pnobu
* dir.c (fundamental_encoding_p, push_glob): compare by encoding index immediately. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15win32.c: encindex.hnobu
* win32/win32.c: needs encindex.h for encoding indexes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15localeinit.c: encindex.hnobu
* localeinit.c: needs encindex.h for ENCINDEX_US_ASCII and ENCINDEX_ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15enc: fundamental encindexnobu
* enc/{ascii,us_ascii,utf_8}.c: set encoding indexes of fundamental built-in encodings so that usable as well as allocated rb_encoding before rb_enc_init(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-15encindex.h: ENCINDEXnobu
* encindex.h: separate encoding index constants from internal.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-14common.mk: excluding options to test-rubynobu
* common.mk (yes-test-ruby): apply excluding options as well as "test". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-09* common.mk (update-gems): use BASERUBY instead of RUNRUBY.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-03common.mk: exclude memory leak testsnobu
* common.mk (TEST_EXCLUDES): exclude tests for memory leak, often too expensive and/or false-positive. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-01* thread_tools.c: rename thread_tools.c to thread_sync.c.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-25win32.c: rb_w32_reparsenobu
* win32/win32.c (rb_w32_reparse): read reparse point in a dynamic buffer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-21* ext/thread/thread.c: move definitions of Queue, SizedQueueko1
and ConditionalVariables to thread_tools.c. In other wowrds, such classes are built-in. [Feature #8919] At first, I planned to embed only a Queue class. However, rubygems requires 'thread.rb' (rubygems are required at first, when launch MRI without --disable-gems). So most of people require 'thread.rb' as an embedded library. Now, ext/thread/thread.c is empty, only for a dummy for compatibility. * thread.c: move a definition of Mutex class to thread_tools.c. And define Mutex class under Thread (so now Mutex is Thread::Mutex). Because other thread related classes are also defined under Thread. We remain ::Mutex as Thread::Mutex. Only an inspect result is changed. * common.mk: add dependency from thread.o to thraed_tools.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-12* remove trailing spaces.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-12* id_table.h: introduce ID key table.ko1
[Feature #11420] This table only manage ID->VALUE table to reduce overhead of st. Some functions prefixed rb_id_table_* are provided. * id_table.c: implement rb_id_table_*. There are several algorithms to implement it. Now, there are roughly 4 types: * st * array * hash (implemented by Yura Sokolov) * mix of array and hash The macro ID_TABLE_IMPL can choose implementation. You can see detailes about them at the head of id_table.c. At the default, I choose 34 (mix of list and hash). This is not final decision. Please report your suitable parameters or your data structure. * symbol.c: introduce rb_id_serial_t and rb_id_to_serial() to represent ID by serial number. * internal.h: use id_table for method tables. * class.c, gc.c, marshal.c, vm.c, vm_method.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-10win32.c: use ruby_strdupnobu
* win32/win32.c (getifaddrs): use ruby_strdup instead of combination ruby_xmalloc, lstrlen and lstrcpy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30common.mk: PHONY should be phony [ci skip]nobu
* common.mk (PHONY): should not depend on any real files, not to make those dependencies inadvertently. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30common.mk: no version.inobu
* common.mk (clean-local): version.i is no longer generated automatically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29common.mk: fix conflict of version.inobu
* common.mk ($(arch)-fake.rb): read from STDIN instead of creating version.i, to get rid of conflict with tool/update-deps. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27symbol.h: memoize hashval for RSymbolnormal
This speeds up the hash function for dynamic symbols. [ruby-core:70129] [Bug #11396], nearly up to Ruby 2.1 levels Power-of-two hash sizing [Feature #9425] speeds up cases where we have a good hash, but this means we can no longer hide behind weak hashes. Unfortunately, object IDs do not hash well, but we may use the extra space in the RSymbol struct to memoize the hash value. Further optimizations should be possible. For now, the st.c APIs force us to calculate rb_str_hash redundantly at dsym registration. * symbol.h (struct RSymbol): add hashval field * symbol.c (dsymbol_alloc): setup hashval field once * hash.c (rb_any_hash): return RSymbol->hashval directly * common.mk: hash.o depends on symbol.h Thanks to Bruno Escherl <bruno@escherl.net> for the bug report [ruby-core:70129] [Bug #11396] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27common.mk: clean preludesnobu
* common.mk (distclean-local): clean preludes in the build diretory, not by realclean. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27common.mk: fix clean ordernobu
* common.mk (clean, distclean): clean local files before platform directory, some files may exist there. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27common.mk: clean-localnobu
* common.mk (clean-local): remove added files and a directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22common.mk: fix execnobu
* common.mk: fix macro name, exec but not EXEC. pointed by @nagachika. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22common.mk: add execnobu
* common.mk: add exec to quoted commands. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07random.c: try getrandomnobu
* random.c (fill_random_bytes_syscall): try getrandom system call on Linux if supported by the kernel. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-26common.mk: add ccan/list headers as deps for st.cnormal
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-18common.mk: reorder args for ENC_MKnobu
* common.mk (ENC_MK): reorder $(ENCS) before the target file name, as enc/make_encmake.rb ignores any arguments after the target. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-17common.mk: -fakenobu
* common.mk (no-fake): add alias -fake for dist. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-17common.mk: needs fake.rbnobu
* common.mk (ENC_MK): needs fake.rb if cross compilation. [ruby-dev:49098] [Bug #11272] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14file.c: open without gvlnobu
* file.c (rb_file_load_ok): try opening file without gvl not to lock entire process. [Bug #11060] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e