aboutsummaryrefslogtreecommitdiffstats
path: root/template
Commit message (Collapse)AuthorAgeFilesLines
* iseq.c: operand lvarnobu2017-11-091-0/+24
| | | | | | | * iseq.c (rb_insn_operand_intern): show local variable operand name in unified instructions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * node.h (ast_t): renamed to `rb_ast_t`.ko12017-10-291-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "Revert "Manage AST NODEs out of GC""mame2017-10-271-3/+7
| | | | | | | This re-introduces r60485. This reverts commit 5a176b75b1187cbd3861c387bde65ff66396a07c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "Manage AST NODEs out of GC"mame2017-10-271-7/+3
| | | | | | This reverts commit 620ba74778bfdbdc34ffbb142d49ce84a0ef58e9. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Manage AST NODEs out of GCmame2017-10-271-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NODEs in AST are no longer objects managed by GC. This change will remove the restriction imposed by the GC. For example, a NODE can use more than five words (this is my primary purpose; we want to store the position data for each NODE, for coverage library), or even a NODE can have variable length (some kinds of NODEs have unused fields). To do this, however, we need more work, since Ripper still uses T_NODE objects managed by the GC. The life time of NODEs is more obvious than other kinds of objects; they are created at parsing, and they become disused immediately after compilation. This change releases all NODEs by a few `xfree`s after compilation, so performance will be improved a bit. In extreme example, `eval("x=1;" * 10000000)` runs much faster (40 sec. -> 7.8 sec. on my machine). The most important part of this change is `ast_t` struct, which has three contents: (1) NODE buffer (malloc'ed memory), (2) a reference to the root NODE, and (3) an array that contains objects that must be marked during parsing (such as literal objects). Some functions that had received `NODE*` arguments, must now receive `ast_t*`. * node.c, node.h: defines `ast_t` struct and related operations. * gc.c, internal.h: defines `imemo_ast`. * parse.y: makes `parser_params` struct have a reference to `ast_t`. Instead of `rb_node_newnode`, use `rb_ast_newnode` to create a NODE. * iseq.c, load.c, ruby.c, template/prelude.c.tmpl: modifies some functions to handle `ast_t*` instead of `NODE*`. * test/ruby/test_gc.rb: ad-hoc fix for a failed test. The test assumes GC eden is increased at startup by NODE object creation. However, this change now create no NODE object, so GC eden is not necessarily increased. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix missing variables in ruby.pcnobu2017-10-161-0/+2
| | | | | | | | | | * configure.ac (LIBRUBY_SO): get rid of referrence to LIBRUBY_SONAME which is not present in ruby.pc. * template/ruby.pc.in (RUBY_API_VERSION, SOEXT): add new variables. [ruby-core:83208] [Bug #14002] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* verconf.h.tmpl: site and vendor directoriesnobu2017-10-091-2/+2
| | | | | | | | * template/verconf.h.tmpl: disable site and vendor directories when removed. based on the path by arnoldwald (arnold w) at [ruby-core:81563]. [Bug #13631] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sizes.c.tmpl: prototypenobu2017-09-291-1/+1
| | | | | | | * template/sizes.c.tmpl (Init_limits): turned a K&R style declaration into a prototype declaration. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby-runner.c: RUBYLIBnobu2017-09-241-0/+4
| | | | | | | | | * ruby-runner.c (insert_env_path): extracted the function which insert path list to an environment variable. * ruby-runner.c (main): append library paths to RUBYLIB. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* pack insn_operand_info and insn_len_infonobu2017-08-221-13/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* pack insns_name_infonobu2017-08-221-5/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/instruction.rb: move logics to templatesnobu2017-08-227-47/+124
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.inc.tmpl: ensure info sizenobu2017-08-225-0/+15
| | | | | | | * template/insns.inc.tmpl (ASSERT_VM_INSTRUCTION_SIZE): static assertion for VM instruction info tables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2017-07-221-34/+34
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add documentsyugui2017-07-221-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * template/exts.mk.tmpl: extract SUBMAKEOPTS from sub exts.mk files too. ↵nobu2017-07-081-6/+1
| | | | | | [Bug #13730] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* exts.mk.tmpl: fix multiple rubiesnobu2017-05-141-0/+3
| | | | | | | * template/exts.mk.tmpl: get rid of making multiple rubies simultaneously. it can cause making libruby in parallel. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* suppress warning: shadowing outer local variablenaruse2017-04-231-7/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* exts.mk: refine notes [Feature #13302]nobu2017-04-211-17/+17
| | | | | | | | | | * ext/extmk.rb: split notes into header and footer, which are common, from bodies which are unique for each extensions. * template/exts.mk.tmpl: now each notes are not one line, should not unique. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: separate notenobu2017-04-201-1/+1
| | | | | | | * common.mk (build-ext): separate note from building extensions, not to be intermingled. [ruby-core:80759] [Feature #13302] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extmk.rb: fail for mandatory librariesnobu2017-04-201-1/+5
| | | | | | | | | * ext/extmk.rb: fail if a mandatory extension library failed to configure. [ruby-core:80759] [Feature #13302] * template/exts.mk.tmpl: move `exit` at the end. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* nodoc UnicodeNormalize modulestomar2017-04-121-1/+1
| | | | | | | | | * lib/unicode_normalize/normalize.rb: [DOC] nodoc the internal UnicodeNormalize module. * lib/unicode_normalize/tables.rb: ditto. * template/unicode_norm_gen.tmpl: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Freeze RbConfig::SIZEOF and RbConfig::LIMITSnobu2017-04-062-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Rename RbConfig::Limits as RbConfig::LIMITSnobu2017-04-061-1/+1
| | | | | | | | * template/limits.c.tmpl (Init_limits): rename RbConfig::Limits as RbConfig::LIMITS, constants other than class or module are all uppercase with underscores by convention. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* exts.mk.tmpl: note footer [ci skip]nobu2017-03-311-1/+3
| | | | | | * template/exts.mk.tmpl: place note footer message at the end. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* MINIRUBY for cross-complingnobu2017-03-031-0/+1
| | | | | | | * template/configure-ext.mk.tmpl (EXTMK_ARGS): add MINIRUBY for cross-compling, which is used in extmk.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: by exts.mknobu2017-02-271-0/+9
| | | | | | * Makefile.in (clean-ext): recurse by exts.mk in parallel first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: TOKEN2IDnobu2017-02-111-7/+19
| | | | | | | | | * parse.y (TOKEN2ID): add macro which maps static tokens to IDs. * template/id.h.tmpl (TOKEN2*ID, DEFINE_*ID_FROM_TOKEN): separate into macros, token to ID mapping and enum definitions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* MFLAGS for nmakenobu2017-02-102-8/+10
| | | | | | | | | | | | * common.mk (mflags): pass make flags to sub-makes, for nmake which cannot pass them by the environment variable. * defs/gmake.mk (mflags): filter out -j option for sub-makes. * template/exts.mk.tmpl (MFLAGS): extract MFLAGS from sub extmk files for nmake. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: remove explicit MFLAGSnobu2017-02-011-3/+3
| | | | | | | | | | It is unnecessary to pass MFLAGS to sub-makes, because it is evaluated implicitly if set by make. GNU make 4.2 sets both of -jN and --jobserver-auth (or --jobserver-fds in older versions) options which conflict. And it is useless for command line macros since Microsoft NMAKE does not set them. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* limits.c.tmpl: fallback ULLONG_MAXnobu2017-01-311-0/+3
| | | | | | | * template/limits.c.tmpl (ULLONG_MAX): add a fallback definition. On old CentOS lacks ULLONG_MAX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make FIXNUM_MAX visible from Rubyshyouhei2017-01-302-0/+95
| | | | | | | | | | | | | | | | | | Because our tests now have several places where FIXNUM_MAX is needed, we decided to provide it along with several other constants. * template/limits.c.tmpl: new file, defining RbConfig::Limits * ext/rbconfig/sizeof/depend (limits.c): rule to generate limits.c * test/-ext-/num2int/test_num2int.rb: use RbConfig::Limits * bootstraptest/test_insns.rb: ditto. * .gitignore: ignore new generated file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extmk.rb: remove clean and install modenobu2017-01-281-1/+1
| | | | | | | * ext/extmk.rb (parse_args): remove clean and install mode, now configure mode only. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extension gems in static-linked-extsnobu2017-01-282-14/+21
| | | | | | | | * template/configure-ext.mk.tmpl: --no-extstatic option to gems. * template/exts.mk.tmpl: include extension gems. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* exts.mk.tmpl: ruby namesnobu2017-01-281-7/+8
| | | | | | * template/exts.mk.tmpl: extract configured ruby names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typonaruse2017-01-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* template/exts.mk.tmpl: fix missing dependenciesnobu2017-01-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* template/exts.mk.tmpl: consider EXEEXTnobu2017-01-271-4/+18
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* exts.mk.tmpl: for not GNU makesnobu2017-01-271-1/+13
| | | | | | | * template/exts.mk.tmpl: use `cd` then `make` instead of `make -C` when not GNU make. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure-ext.mk.tmpl: fix ext buildnobu2017-01-271-2/+2
| | | | | | | * template/configure-ext.mk.tmpl: fixed inverted names of target and directory, and chomp the last slash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Parallel gem configurationnobu2017-01-261-10/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure-ext.mk.tmpl: embed macrosnobu2017-01-231-2/+6
| | | | | | | * template/configure-ext.mk.tmpl: embed MINIRUBY and SCRIPT_ARGS to get rid of quoting problems of nmake. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix for nmakenobu2017-01-232-3/+4
| | | | | | | | | | | | | | * common.mk (EXT_MK): use double-quotes and remove SCRIPT_ARGS which contains both types of quotes. * template/configure-ext.mk.tmpl (all): use single-quotes for MAKE which is set by nmake and contains spaces in the path. do not use SCRIPT_ARGS. * template/exts.mk.tmpl (all, static): separate dependency lines, not to become a default target unintentionally. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure-ext.mk.tmpl: FORCEnobu2017-01-231-0/+1
| | | | | | | * template/configure-ext.mk.tmpl (FORCE): add missing target for BSD make. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Parallel ext configurationnobu2017-01-232-0/+125
| | | | | | | | | | * ext/configure-ext.mk: configure each directories underneath ext in parallel. * template/exts.mk.tmpl: then collect the results. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extinit.c.tmpl: drop after dotnobu2017-01-231-3/+4
| | | | | | | * template/extinit.c.tmpl: drop rest from the first dot in the base name of a feature is ignored since r30464. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* template/extinit.c.tmplnobu2017-01-221-0/+16
| | | | | | * template/extinit.c.tmpl: separate from ext/extmk.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Keep -jN optionnobu2017-01-201-2/+2
| | | | | | | * {cygwin,template}/GNUmakefile.in (MFLAGS, MAKEFLAGS): keep -jN option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge Onigmo 6.0.0naruse2016-12-101-1/+2
| | | | | | | | | | | * https://github.com/k-takata/Onigmo/blob/Onigmo-6.0.0/HISTORY * fix for ruby 2.4: https://github.com/k-takata/Onigmo/pull/78 * suppress warning: https://github.com/k-takata/Onigmo/pull/79 * include/ruby/oniguruma.h: include onigmo.h. * template/encdb.h.tmpl: ignore duplicated definition of EUC-CN in enc/euc_kr.c. It is defined in enc/gb2313.c with CRuby macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update comments in prelude.c [ci skip]kazu2016-10-181-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e