| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
[ruby-dev:34679]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* *.c: no cache in init functions.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
ISEQ_TYPE_DEFINED_GUARD.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
VM::InstructionSequence.load.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by "vm.c".
* vm_eval.c: added. Some codes are moved from "eval.c"
* common.mk: fix for above changes.
* compile.c: make a vm_eval(0)
* eval.c, eval_error.c, eval_intern.h, eval_jump.c, proc.c, vm.c,
id.c, id.h, vm_core.h, vm_dump.c, vm_evalbody.c, vm_insnhelper.c,
blockinlining.c: fix for above changes. and do some refactoring.
this changes improve rb_yield() performance.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
special handling that decrements sp in CATCH_TYPE_NEXT for NODE_WHILE.
* vm.c (vm_eval_body), vm_insnhelper.c (vm_throw): remove unused code.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
peephole optimization should not ignore ISEQ_ELEMENT_ADJUST.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VM value stack frame of block contains cref information.
(dfp[-1] points CREF)
* compile.c, eval_intern.h, eval_method.c, load.c, proc.c,
vm_dump.h, vm_core.h: ditto.
* include/ruby/ruby.h, gc.c: remove T_VALUES because of above
changes.
* bootstraptest/test_eval.rb, test_knownbug.rb: move solved test.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* compile.c, insns.def: fix to use putcbase instruction for
class search. Qundef should not be used.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
should not operate assignment. [ruby-dev:34645]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
modules as well. [ruby-dev:34585]
* insns.def (defineclass): add undef handling.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
segmentation fault. a patch from wanabe <s.wanabe at gmail.com>
in [ruby-dev:34593].
* compile.c (defined_expr):
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
| |
* insns.def (defineclass): Qudef is passed for cbase.
* insns.def (setconstant): ditto.
* vm_insnhelper.c (vm_check_if_namespace): use rb_inspect()
instead of rb_obj_as_string() for better description.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
evaluation. a patch from wanabe <s.wanabe at gmail.com> in
[ruby-dev:34461]. [ruby-core:16010]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
new_label_body().
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
when entries exist.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
enum for debuggers.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
a patch from wanabe <s.wanabe AT gmail.com> in [ruby-dev:34429].
[ruby-core:14537]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
parentheses to remove warnings of gcc.
* io.c (rb_io_getc): remove unused variables.
* compile.c (NODE_NEXT, NODE_REDO): remove unused labels.
* ext/nkf/nkf.c (rb_nkf_convert): remove unused variables.
* ext/syck/rubyext.c (syck_resolver_initialize,
syck_resolver_detect_implicit, syck_emitter_emit): remove unused
variables.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* debug.c (ruby_debug_print_indent): returns if debug_level exceeds
the threashold.
* debug.c (ruby_debug_printf): printf to stderr.
* iseq.c (make_compile_option, make_compile_option_value): added
debug_level option.
* vm_core.h (rb_compile_option_t): added debug_level.
* vm_core.h (struct iseq_compile_data): added node_level.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use iseq instead of NODE.
* gc.c (source_filenames): removed.
* include/ruby/intern.h, parse.y (yycompile, parser_mark, parser_free,
ripper_initialize): rb_source_filename() is no longer used.
* compile.c, compile.h (ERROR_ARGS), parse.y (node_newnode, fixpos,
parser_warn, e_option_supplied, warn_unless_e_option, range_op,
cond0): nd_file is no longer used.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
insn_data_to_s_detail): constified.
* iseq.c (insn_operand_intern, ruby_iseq_disasm_insn): ditto.
* template/{insns_info,opt_sc,optunifs}.inc.tmpl: ditto.
* tool/instruction.rb (OptUnifsIncGenerator): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
be needed. [ruby-talk:295296]
* compile.c (iseq_compile_each): put nil if false short-circuit is
created.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
to denote its a flag. [ruby-core:15529]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
string.
* re.c (rb_reg_new_ary): defined for toregexp. it concatenates
strings after each string is preprocessed.
* compile.c (compile_dstr_fragments): split from compile_dstr.
(compile_dstr): call compile_dstr_fragments.
(compile_dregx): defined for dynamic regexp.
(iseq_compile_each): use compile_dregx for dynamic regexp.
[ruby-dev:33400]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
statement.
* bootstraptest/test_syntax.rb: add a test.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
at each instruction.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
| |
calculate correct stack depth at compile time.
* insns.def (emptstack): remove it and add a new insn "adjuststack".
* bootstraptest/test_knownbug.rb: move/remove fixed test.
* bootstraptest/test_syntax.rb: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
string.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
(break is compiled to throw instead of jump insn).
these problems are reported by Yusuke ENDOH <mame AT tsg.ne.jp>
* bootstraptest/test_knownbug.rb, test_syntax.rb: move fixed test.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
a patch from Yusuke ENDOH <mame AT tsg.ne.jp> [ruby-dev:32720]
* bootstraptest/test_syntax.rb: add 2 tests for above.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
a patch from Yusuke ENDOH <mame AT tsg.ne.jp>
* vm.c: clear VM stack.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
a patch from Yusuke ENDOH <mame AT tsg.ne.jp>
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
to fix stack consistency error. [ruby-core:14385]
* bootstraptest/test_syntax.rb: add tests for above.
* bootstraptest/test_knownbug.rb: remove fixed bug.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* compile.c (iseq_specialized_instruction): do not use
VM_CALL_SEND_BANG flag any longer.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* numeric.c (fix_id2name): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
| |
compile.c, sprintf.c, parse.y, ext/win32ole/win32ole.c,
ext/tk/sample/demos-en/entry3.rb, ext/tk/lib/tcltk.rb,
ext/openssl/ossl_bn.c, numeric.c, vm.c,
benchmark/bm_so_meteor_contest.rb, bignum.c, ruby.c: don't "illegal"
for non law violation context.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* bootstraptest/test_knownbug.rb, test_syntax.rb: move resolved test.
* vm_core.h, iseq.c, compile.h: add debug output code.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
from break/next, and COMPILE_ERROR() breaks only one block.
[ruby-dev:31372]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
("iter{retry}" cause syntax error)
Currently, "begin; ...; rescue; iter{retry}; end" cause
syntax error too.
* bootstraptest/test_jump.rb: ditto.
* lib/drb/invokemethod.rb: ditto.
* sample/drb/darrayc.rb: ditto.
* sample/test.rb: ditto.
* test/drb/drbtest.rb: ditto.
* test/ruby/test_iterator.rb: ditto.
* sample/test.rb: add a 'test' directory on the SYSTEM test.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
optimize !@, != method invocation.
* id.c, id.h: ditto.
* bootstraptest/test_syntax.rb: add tests for above.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.y (arg): ditto.
* object.c (rb_obj_not): new method "!".
* object.c (rb_obj_not_equal): new method "!=".
* object.c (rb_obj_not_match): new method "!~".
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|