summaryrefslogtreecommitdiff
path: root/common.mk
AgeCommit message (Collapse)Author
2019-10-30Update Unicode Emoji version from 12.0 to 12.1.Martin Dürst
This update does not add any new codepoint assignments, it just expands the range of emoji codepoint sequences recommended for public interchange. Depending on how emoji data files are cached, this commit may require manual intervention in some build environments (including some CI systems).
2019-10-24Combine call info and cache to speed up method invocationAlan Wu
To perform a regular method call, the VM needs two structs, `rb_call_info` and `rb_call_cache`. At the moment, we allocate these two structures in separate buffers. In the worst case, the CPU needs to read 4 cache lines to complete a method call. Putting the two structures together reduces the maximum number of cache line reads to 2. Combining the structures also saves 8 bytes per call site as the current layout uses separate two pointers for the call info and the call cache. This saves about 2 MiB on Discourse. This change improves the Optcarrot benchmark at least 3%. For more details, see attached bugs.ruby-lang.org ticket. Complications: - A new instruction attribute `comptime_sp_inc` is introduced to calculate SP increase at compile time without using call caches. At compile time, a `TS_CALLDATA` operand points to a call info struct, but at runtime, the same operand points to a call data struct. Instruction that explicitly define `sp_inc` also need to define `comptime_sp_inc`. - MJIT code for copying call cache becomes slightly more complicated. - This changes the bytecode format, which might break existing tools. [Misc #16258] Notes: Merged: https://github.com/ruby/ruby/pull/2564
2019-10-24Added refresh-gemsNobuyoshi Nakada
Refreshes bundled gems to the latest version, and extracts them.
2019-10-23name2ctype.h depends on also Emoji dataNobuyoshi Nakada
2019-10-16Comparable#clamp with a range [Feature #14784]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2556
2019-10-10make rb_raise a GVL-only function again卜部昌平
Requested by ko1 that ability of calling rb_raise from anywhere outside of GVL is "too much". Give up that part, move the GVL aquisition routine into gc.c, and make our new gc_raise().
2019-10-10Now error.o needs thread.hNobuyoshi Nakada
2019-10-10allow rb_raise from outside of GVL卜部昌平
Now that allocation routines like ALLOC_N() can raise exceptions on integer overflows. This is a problem when the calling thread has no GVL. Memory allocations has been allowed without it, but can still fail. Let's just relax rb_raise's restriction so that we can call it with or without GVL. With GVL the behaviour is unchanged. With no GVL, wait for it. Also, integer overflows can theoretically occur during GC when we expand the object space. We cannot do so much then. Call rb_memerror and let that routine abort the process.
2019-10-05Added dependencies on prerequisite makefilesNobuyoshi Nakada
2019-09-19Use benchmark-driver v0.15.6Takashi Kokubun
to fix another keyword argument warning which was added recently.
2019-09-13Upgrade benchmark_driver to v0.15.5Takashi Kokubun
Fixed new Struct-related keyword argument warnings
2019-09-07Fixed wrong usage of file2lastrev.rbNobuyoshi Nakada
2019-09-07Upgrade benchmark-driver to v0.15.4Takashi Kokubun
Fixing a bug on Windows introduced in v0.15.0
2019-09-07Upgrade benchmark-driver to v0.15.3Takashi Kokubun
It got some nice features for better support of benchmark_driver-output-charty, Windows, ridk, and rbenv.
2019-09-03Explain how to run an individual btest in helpTakashi Kokubun
2019-09-01Upgrade benchmark-driver for keyword args warningsTakashi Kokubun
2019-08-26Show MFLAGS to check `Set ENV` in .github/workflows/ubuntu.ymlKazuhiro NISHIYAMA
2019-08-26CPPFLAGS is not needed for linkNobuyoshi Nakada
2019-08-26Moved INCFLAGS to XCFLAGS from CPPFLAGS as well as mswinNobuyoshi Nakada
Rules which have used CPPFLAGS will need XCFLAGS or INCFLAGS now.
2019-08-26Add INCFLAGS for fake.rbNobuyoshi Nakada
INCFLAGS is not included in CPPFLAGS on mswin, not to be exported to rbconfig.rb.
2019-08-26Removed unnecessary flags for fake.rbNobuyoshi Nakada
Flags for ruby core such as warning and `_FORTIFY_SOURCE` macro are not necessary to make fake.rb, except for `RUBY_EXPORT` macro which prevents to include ruby/backward.h.
2019-08-22Use () instead of {} for nmakeHiroshi SHIBATA
2019-08-22`--fomart progress` is default. It's duplicated.Hiroshi SHIBATA
2019-08-22Introduce test-bundler-parallel task.Hiroshi SHIBATA
2019-08-20Fix some bundler specs (#2380)David Rodríguez
* These seem to consistenly pass already * Show actual command when running `make test-bundler` Current the setup command that installs the necessary gems for testing bundler was printed, but not the actual command that runs the tests. That was a bit confusing. * Borrow trick from setproctitle specs * A title that long doesn't get set sometimes No idea why, but the test doesn't need that the title is that long. * Fix most gem helper spec ruby-core failures * Fix the rest of the gem helper failures * Fix version spec by improving the assertion * Remove unnecessary `BUNDLE_RUBY` environment var We can use `RUBY` when necessary, and `BUNDLE_RUBY` is not a good name because bundler considers `BUNDLE_*` variables as settings. * Rename `BUNDLE_GEM` to `GEM_COMMAND` This is more descriptive I think, and also friendlier for bundler because `BUNDLE_` env variables are interpreted by bundler as settings, and this is not a bundler setting. This fixes one bundler spec failure in config specs against ruby-core. * Fix quality spec when run in core Use the proper path helper. * Fix dummy lib builder to never load default gems If a dummy library is named as a default gem, when requiring the library from its executable, the default gem would be loaded when running from core, because in core all default gems share path with bundler, and thus they are always in the $LOAD_PATH. We fix the issue by loading lib relatively inside dummy lib executables. * More exact assertions Sometimes I have the problem that I do some "print debugging" inside specs, and suddently the spec passes. This happens when the assertion is too relaxed, and the things I print make it match, specially when they are simple strings like "1.0" than can be easily be part of gem paths that I print for debugging. I fix this by making a more exact assertion. * Detect the correct shebang when ENV["RUBY"] is set * Relax assertion So that the spec passes even if another paths containing "ext" are in the load path. This works to fix a ruby-core issue, but it's a better assertion in general. We just want to know that the extension path was added. * Use folder structure independent path helper It should fix this spec for ruby-core. * Fix the last failing spec on ruby-core * Skip `bundle open <default_gem>` spec when no default gems
2019-08-18Prefer exact ITEM to benchmarkNobuyoshi Nakada
2019-08-09gc.h is required on mswin build.Koichi Sasada
thread.c requires gc.h on mswin build. Sorry.
2019-08-09add rp() and bp() in internal.h.Koichi Sasada
debug utility macro rp() (rp_m()) and bp() are introduced. * rp(obj) shows obj information w/o any side-effect to STDERR. * rp_m(m, obj) is similar to rp(obj), but show m before. * bp() is alias of ruby_debug_breakpoint(), which is registered as a breakpoint in run.gdb (used by `make gdb` or make gdb-ruby`).
2019-08-09remove useless include and dependencyKoichi Sasada
2019-08-09Add missing dependencyTakashi Kokubun
just fix CI failure https://travis-ci.org/ruby/ruby/jobs/569625233
2019-08-07Upgrade benchmark-driver versionTakashi Kokubun
as I already started to use --runner=block introduced in v0.14.20 like: https://github.com/ruby/ruby/pull/2321#issuecomment-518638663
2019-07-30Shorten dependency hint [ci skip]Nobuyoshi Nakada
2019-07-30Hint for the dependency update [Bug #16000]Nobuyoshi Nakada
2019-07-25Separated tool/test/runner.rb and test/runner.rbNobuyoshi Nakada
As `make test-tool` does not use gems, and no Rubygems stuffs is needed, so moved such things to test/runner.rb. Also no longer nees `--test-target-dir` option.
2019-07-23Retry to update Unicode timestampNobuyoshi Nakada
2019-07-22Only the first argument can be --test-target-dir optionNobuyoshi Nakada
Raise the proper exception when that option is not given but non-option argument is.
2019-07-21common.mk: `make check` now includes `make test-tool`Yusuke Endoh
And `make test-tool` includes `make test-testframework`. This change may be arguable because I'm unsure who is an intended user of `make check`: a normal user, or Ruby-core developer. Normal users don't have to run `make test-tool` for testing their installation, but Ruby committers should run it before they commit anything. In this case, I'd be conservative; `make check` includes `test-tool`. If normal users often report a failure of `make test-tool`, then we can consider to split `make check` for two sets of target users.
2019-07-21tool/test/runner.rb: support --test-target-dir optionYusuke Endoh
tool/test/runner.rb had been copied from test/runner.rb. test/runner.rb was for `make test-all`, and tool/test/runner.rb was for `make test-testframework` and `make test-tool`. But I want to avoid the code clones. This change makes tool/test/runner.rb support --test-target-dir option which allows tool/test/runner.rb to run `make test-all`. Now we can remove test/runner.rb.
2019-07-21Update simplecov and doclie to the latest version.Hiroshi SHIBATA
2019-07-20Upgrade benchmark-driver.gem againTakashi Kokubun
because v0.14.18 was actually not working with `make run`. In `make run`, `Gem` is defined but `Gem::Version` isn't. v0.14.19 checks `defined?(Gem::Version)` instead of `defined?(Gem)`.
2019-07-20Upgrade benchmark-driver.gem versionTakashi Kokubun
This is to make `make run` with benchmark/lib/load.rb work for ko1 https://github.com/benchmark-driver/benchmark-driver/compare/v0.14.17...v0.14.18
2019-07-18Improve build process and coroutine implementation selection.Samuel Williams
2019-07-16Fixed the library path for toolsNobuyoshi Nakada
2019-07-15Added help message for test-tool target.Hiroshi SHIBATA
2019-07-15Added test-tool target for the test suite of tool/test files.Hiroshi SHIBATA
2019-07-15Fix unaligned help outputTakashi Kokubun
1f99274ccf31ba1f2a4b3ac20a9c6cdc5ae81152 was indenting details with a hard tab, but other lines are using spaces.
2019-07-15Stop consuming 2 entries for gorubyTakashi Kokubun
similar to 364f43ab7fc5920247fc73423c1428208cf78a4a and 13cb9e6bd2c88d04fc9b21b8f8c1d192c67cd5a2
2019-07-15Added the bundled gems target to make help.Hiroshi SHIBATA
2019-07-15common.mk: remove "make exam" from helpYusuke Endoh
Currently it is completely the same as "make check". I think it is not worth mentioning now.
2019-07-15Unify documentations of `make benchmark`Takashi Kokubun