aboutsummaryrefslogtreecommitdiffstats
path: root/common.mk
Commit message (Collapse)AuthorAgeFilesLines
* Remove platform directory when distclean or more [ci skip]Nobuyoshi Nakada2020-05-281-1/+1
| | | | | At the time of clean-platform, platform directory may not be empty because of parallel build.
* Bump version to use RSpec 3.8+Hiroshi SHIBATA2020-05-131-1/+1
|
* Bump version to use Rake 13 in bundler examplesHiroshi SHIBATA2020-05-131-1/+1
|
* Build auxiliary program files earlyNobuyoshi Nakada2020-05-121-4/+4
|
* builtin_binary.inc: should be updated even if no changes [ci skip]Nobuyoshi Nakada2020-05-121-1/+1
| | | | | As this rule does not use a separate timestamp file, the target will be rebuilt every time once it is outdated.
* sed -i 's|ruby/impl|ruby/internal|'卜部昌平2020-05-111-10447/+10447
| | | | To fix build failures.
* sed -i s|ruby/3|ruby/impl|g卜部昌平2020-05-111-10447/+10447
| | | | This shall fix compile errors.
* nmake doesn't understand $<卜部昌平2020-05-101-1/+1
| | | | Fix MSVC build error.
* delete mk_builtin_binary.rb卜部昌平2020-05-101-2/+3
| | | | To generate what is necessary via generic_erb.rb instead.
* delete mk_call_iseq_optimized.rb卜部昌平2020-05-101-2/+2
| | | | To generate what is necessary via generic_erb.rb instead.
* internal/process.h: add a no-warning simple wrapper for fork(2)Yusuke Endoh2020-05-021-0/+1
| | | | | | | | | | | | As fork(2) is deprecated, its calls must be guarded by `COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`. All usages of fork(2) in process have been alread guarded. A new call to fork(2) was added in ruby.c with f22c4ff359498ab342e4b6d6feb21af6004ee270. This caused a build failure on Solaris 11. It may hide a bug to guard big code unnecessarily, so this change introduces a simple wrapper "rb_fork" whose definition is guarded, and replaces all calls to fork(2) with the wrapper function.
* Remove rubyspec temporary directoriesNobuyoshi Nakada2020-04-281-1/+0
|
* Remove rubyspec temporary directoryNobuyoshi Nakada2020-04-281-0/+1
|
* check: compare with right upstreamNobuyoshi Nakada2020-04-271-2/+4
|
* Update benchmark-driver versionNobuyoshi Nakada2020-04-221-1/+1
|
* Update benchmark-driver versionNobuyoshi Nakada2020-04-221-1/+1
|
* fileutils now depends on rbconfig.rb due to JRuby supportNobuyoshi Nakada2020-04-171-1/+1
|
* Make y.output in ripper unlocalized [ci skip]Nobuyoshi Nakada2020-04-141-1/+1
| | | | | Often it is easy to search, grep, etc from command line, for debugging purpose.
* include what you use.卜部昌平2020-04-131-17/+1
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 443389effc37308ce1a3c3a840082a344fc6af56. This reverts commit d94960f22ec2de3a3855305cb51343806d2b46c7. Inclusion of header files must be explicit. Every file shall directly include what is necessary. https://github.com/include-what-you-use/include-what-you-use says: > When every file includes what it uses, then it is possible to edit any > file and remove unused headers, without fear of accidentally breaking > the upwards dependencies of that file. It also becomes easy to > automatically track and update dependencies in the source code. Though we don't use iwyu itself, the principle quoted above is a good thing that we can agree. Now that include guards were added to every and all of the headers inside of our project this changeset does not increase compile time, at least on my machine.
* update dependenciesKoichi Sasada2020-04-101-1/+17
|
* Merge pull request #2991 from shyouhei/ruby.h卜部昌平2020-04-081-60/+11344
| | | Split ruby.h
* Moved `Dir.open` and `Dir#initialize` to dir.rbNobuyoshi Nakada2020-04-061-0/+4
|
* Added tooldir variableNobuyoshi Nakada2020-04-051-81/+81
|
* Refresh revision.h by after-updateNobuyoshi Nakada2020-03-301-4/+2
|
* Add rexml to fix rss of test-bundled-gems (#2976)Kazuhiro NISHIYAMA2020-03-241-1/+1
|
* Use miniruby to run tool/mjit_tabs.rbTakashi Kokubun2020-03-231-2/+2
| | | | hoping to fix https://github.com/ruby/actions/runs/527422022
* Make file names and variable names consistentTakashi Kokubun2020-03-231-2/+2
|
* Moved MJIT_WITHOUT_TABS default to configure.acNobuyoshi Nakada2020-03-241-3/+0
| | | | And then the environment variable.
* Change the filename like make variableTakashi Kokubun2020-03-221-2/+2
| | | | for consistency
* Make the first argument slightly more robustTakashi Kokubun2020-03-221-1/+1
|
* Change the run_without_tabs switching to dedicatedTakashi Kokubun2020-03-221-1/+4
| | | | | | | variable of make instead of d059714746 as requested. You can disable this like `make MJIT_WITHOUT_TABS=false` or `export MJIT_WITHOUT_TABS=false`.
* Disable run_without_tabs when there's no -ggdb3Takashi Kokubun2020-03-221-1/+1
| | | | | | | | in debugflags, as requested by nobu I actually wanted to check debugflags directly rather than MJIT_DEBUGFLAGS because debugflags is always used but MJIT_DEBUGFLAGS may not be always used. But I couldn't find a better way to check debugflags.
* Expand tabs for rb_mjit_header.h (#2975)Takashi Kokubun2020-03-221-2/+3
| | | | | | | | | | This is necessary to avoid converting a hard tab to just 1 space in preprocessor to generate rb_mjit_header.h, which is helpful when using gdb or perf report. See also: [Misc #16112] This reverts commit 91acdd17c4b4bb69a8fa3ada46e09dad46b9362e. Fixed permission failure on Travis, encoding, and added SKIPPED_FILES.
* Revert "Expand tabs for rb_mjit_header.h"Takashi Kokubun2020-03-221-3/+2
| | | | | | This reverts commit 57119dd561418c917b885db5f5af7f129a96d1ec. Temporarily reverting for Travis failures
* Expand tabs for rb_mjit_header.hTakashi Kokubun2020-03-221-2/+3
| | | | | | I can't live without this when using gdb or perf report. See also: [Misc #16112]
* support builtin for Kernel#cloneS.H2020-03-171-0/+4
|
* Use a human-readable funcname with --jit-debugTakashi Kokubun2020-03-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | for perf output like: Samples: 100K of event 'cycles:ppp', Event count (approx.): 1007750000 Children Self Command Shared Object Symbol + 81.58% 1.47% ruby ruby [.] rb_vm_exec + 81.06% 7.61% ruby ruby [.] vm_exec_core + 80.16% 0.00% ruby ruby [.] vm_sendish (inlined) + 75.03% 0.00% ruby ruby [.] mjit_exec (inlined) + 74.37% 0.00% ruby ruby [.] mjit_exec (inlined) + 73.42% 0.22% ruby _ruby_mjit_p11277u42.so [.] _mjit42_rack_method_override_rb_call + 73.25% 0.10% ruby _ruby_mjit_p11277u41.so [.] _mjit41_sinatra_show_exceptions_rb_call + 73.19% 0.22% ruby _ruby_mjit_p11277u44.so [.] _mjit44_rack_head_rb_call + 73.03% 0.15% ruby _ruby_mjit_p11277u45.so [.] _mjit45_sinatra_base_rb_call + 72.87% 0.26% ruby _ruby_mjit_p11277u49.so [.] _mjit49_rack_logger_rb_call + 70.56% 0.11% ruby _ruby_mjit_p11277u40.so [.] _mjit40_sinatra_base_rb_call + 68.70% 0.11% ruby _ruby_mjit_p11277u39.so [.] _mjit39_sinatra_base_rb_call + 68.39% 0.29% ruby _ruby_mjit_p11277u56.so [.] _mjit56_rack_protection_frame_options_rb_call + 67.89% 0.18% ruby _ruby_mjit_p11277u37.so [.] _mjit37_sinatra_base_rb_block_in_call + 67.04% 0.16% ruby _ruby_mjit_p11277u34.so [.] _mjit34_sinatra_base_rb_synchronize Reverting deb1c7b97d, fixing `sprint_funcname`'s argument in `compact_all_jit_code`. Also updating common.mk.
* Fix bundled gems installation on a fresh cloneDavid Rodríguez2020-03-141-5/+5
|
* Update and extract for each gemNobuyoshi Nakada2020-03-131-2/+2
|
* Add prepare-gems to download and extract bundled gemsNobuyoshi Nakada2020-03-121-1/+2
|
* Prevent unloading methods used in root_fiber while calling another Fiber (#2939)Takashi Kokubun2020-02-281-0/+1
| | | | | | Fixing SEGVs like: http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744905 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744420 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2741400
* Share extracted bundled gems with gems for bundlerNobuyoshi Nakada2020-02-251-4/+5
| | | | | | Extract bundled gems under ".bundle/gems" and get rid of duplication which cause constant redefinition warnings at `test-all` after `extract-gems` and `test-bundler`.
* Fixed symbol misused as IDNobuyoshi Nakada2020-02-241-0/+1
| | | | | `rb_funcallv_public` and `rb_respond_to` require an `ID`, not a `Symbol`. [Bug #16649]
* Revert "Prefer `exe/ruby` to execute from it"Nobuyoshi Nakada2020-02-231-1/+1
| | | | | This reverts commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0, as an example in bundler expects untouch PATH.
* Prefer `exe/ruby` to execute from itNobuyoshi Nakada2020-02-221-1/+1
|
* Introduce disposable call-cache.Koichi Sasada2020-02-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains several ideas: (1) Disposable inline method cache (IMC) for race-free inline method cache * Making call-cache (CC) as a RVALUE (GC target object) and allocate new CC on cache miss. * This technique allows race-free access from parallel processing elements like RCU. (2) Introduce per-Class method cache (pCMC) * Instead of fixed-size global method cache (GMC), pCMC allows flexible cache size. * Caching CCs reduces CC allocation and allow sharing CC's fast-path between same call-info (CI) call-sites. (3) Invalidate an inline method cache by invalidating corresponding method entries (MEs) * Instead of using class serials, we set "invalidated" flag for method entry itself to represent cache invalidation. * Compare with using class serials, the impact of method modification (add/overwrite/delete) is small. * Updating class serials invalidate all method caches of the class and sub-classes. * Proposed approach only invalidate the method cache of only one ME. See [Feature #16614] for more details.
* VALUE size packed callinfo (ci).Koichi Sasada2020-02-221-0/+8
| | | | | | | | | | | | | | | | | | | | Now, rb_call_info contains how to call the method with tuple of (mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and mid+argc+flags only requires 64bits. So this patch packed rb_call_info to VALUE (1 word) on such cases. If we can not represent it in VALUE, then use imemo_callinfo which contains conventional callinfo (rb_callinfo, renamed from rb_call_info). iseq->body->ci_kw_size is removed because all of callinfo is VALUE size (packed ci or a pointer to imemo_callinfo). To access ci information, we need to use these functions: vm_ci_mid(ci), _flag(ci), _argc(ci), _kwarg(ci). struct rb_call_info_kw_arg is renamed to rb_callinfo_kwarg. rb_funcallv_with_cc() and rb_method_basic_definition_p_with_cc() is temporary removed because cd->ci should be marked.
* Workaround for bison provided by scoop on mswin environmentHiroshi SHIBATA2020-02-151-0/+1
|
* Fixed a potential memory leakNobuyoshi Nakada2020-02-121-0/+1
| | | | `rb_str_new_cstr` can raise a `NoMemoryError`.
* Check if bindable against the refined target [Bug #16617]Nobuyoshi Nakada2020-02-091-0/+1
|