ko1
9e324fdd3e
* vm.c, eval_intern.h (PASS_PASSED_BLOCK):
...
set a VM_FRAME_FLAG_PASSED flag to skip this frame when
searching ruby-level-cfp.
* eval.c, eval_intern.h, proc.c: fix to check cfp. if there is
no valid ruby-level-cfp, cause RuntimeError exception.
[ruby-dev:34128]
* vm_core.h, vm_evalbody.c, vm.c, vm_dump.c, vm_insnhelper.c,
insns.def: rename FRAME_MAGIC_* to VM_FRAME_MAGIC_*.
* KNOWNBUGS.rb, bootstraptest/test*.rb: move solved bugs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 21:46:43 +00:00
nobu
59432db7f7
* vm_core.h (rb_num_t): moved form vm.h.
...
* tool/instruction.rb (RubyVM::Instruction#sp_increase_c_expr),
tool/instruction.rb (RubyVM::VmBodyGenerator#make_header_operands):
omit unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-23 03:23:08 +00:00
ko1
2004a2b536
* vm.h: remove dangerous assembler sentence.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-14 09:16:57 +00:00
akr
6cdef2dc7e
* $Date$ keyword removed to avoid inclusion of locale dependent
...
string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
ko1
9f34b73009
* cont.c, vm.h: fix to support sparc machine.
...
a patch from Yusuke ENDOH <mame AT tsg.ne.jp>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-23 19:03:23 +00:00
ko1
cd84310864
* compile.c, insnhelper.ci, insns.def, object.c, vm.c, vm.h:
...
optimize !@, != method invocation.
* id.c, id.h: ditto.
* bootstraptest/test_syntax.rb: add tests for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 12:07:51 +00:00
ko1
d907cbc81d
* blockinlining.c, compile.c, compile.h, debug.c, debug.h,
...
id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci,
thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h,
vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and
copyright year.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13 22:13:04 +00:00
nobu
6e572060eb
* vm.h (FRAME_MAGIC_MASK_BITS): bits of FRAME_MAGIC_MASK.
...
* insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): use shift operations.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-09 13:04:22 +00:00
ko1
67aa07f44d
* eval.c (eval): fix to check stack overflow.
...
* eval_intern.h, vm.h: move CHECK_STACK_OVERFLOW() macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-26 10:39:49 +00:00
ko1
d5e687b724
* vm.h, eval_intern.h: move some macros to eval_intern.h.
...
* eval_jump.ci (rb_f_throw): fix to use NEW_THROW_OBJECT().
* eval.c (rb_f_loop): remove additional macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-14 07:17:17 +00:00
ko1
b1c5d848f8
* vm_dump.c (debug_print_pre): fix to show control frame count.
...
* insns.def (opt_call_c_function): fix operand type.
* lib/vm/instruction.rb: ditto.
* insnhelper.ci (vm_push_frame, vm_pop_frame): fix to show
control stack status on if VMDEBUG == 2.
* vm.h: add a comment about VMDEBUG.
* iseq.c (find_prev_line_no): fix to skip bug report if
line is not found.
* lib/vm/instruction.rb: fix to use build_string() on
source code generators.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-12 19:09:15 +00:00
ko1
ae421c43df
* insnhelper.ci, insns.def: move some statements to functions.
...
* vm.c, vm.h, vm_evalbody.ci: fix include/typedef places.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-06 11:36:30 +00:00
ko1
6b6bf4dd48
* blockinlining.c: remove "yarv" prefix.
...
* array.c, numeric.c: ditto.
* insnhelper.ci, insns.def, vm_evalbody.ci: ditto.
* yarvcore.c: removed.
* yarvcore.h: renamed to core.h.
* cont.c, debug.c, error.c, process.c, signal.c : ditto.
* ext/probeprofiler/probeprofiler.c: ditto.
* id.c, id.h: added.
* inits.c: ditto.
* compile.c: rename internal functions.
* compile.h: fix debug flag.
* eval.c, object.c, vm.c: remove ruby_top_self.
use rb_vm_top_self() instead.
* eval_intern.h, eval_load: ditto.
* gc.c: rename yarv_machine_stack_mark() to
rb_gc_mark_machine_stack().
* insnhelper.h: remove unused macros.
* iseq.c: add iseq_compile() to create iseq object
from source string.
* proc.c: rename a internal function.
* template/insns.inc.tmpl: remove YARV prefix.
* thread.c:
* vm.c (rb_iseq_eval): added.
* vm.c: move some functions from yarvcore.c.
* vm_dump.c: fix to remove compiler warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-12 04:25:46 +00:00
ko1
0d0ef6eccc
* yarvcore.h: rename rb_control_frame_t#magic to flag.
...
* vm.h: add VM_FRAME_TYPE() and VM_FRAME_FLAG().
* cont.c, insnhelper.ci, insns.def, vm.c, vm_dump.c,
vm_evalbody.ci, yarvcore.c: apply above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 10:49:45 +00:00
ko1
27013e71e4
* yarvcore.h, compile.c, insnhelper.ci, iseq.c, vm.c:
...
rename structure names and field names.
* insnhelper.h, insns.def: add GET_CONST_INLINE_CACHE().
* iseq.c: add rb_iseq_build_for_ruby2cext().
* yarvcore.h, vm.h: move declaration of rb_insn_func_t
to yarvcore.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-01 18:16:02 +00:00
ko1
061cce6d6f
* insnhelper.h, vm.h: some refactoring.
...
remove useless comments, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-30 18:27:20 +00:00
ko1
eb9aaa4c4f
* vm.h: rename insn_func_type to rb_insn_func_type.
...
* vm_evalbody.ci: ditt.
* insns.def: add opt_call_native_compiled instruction
instead of opt_call_native_compiled.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-30 18:02:24 +00:00
ko1
480c602bdc
* win32/Makefile.sub: define FUNC_FASTCALL macro.
...
* vm.h: fix to use FUNC_FASTCALL macro.
TODO: add FUNC_FASTCALL macro by configure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-28 13:31:08 +00:00
ko1
fd58a0836f
* common.mk (run.gdb): fix to load $(srcdir)/.gdbinit
...
* vm.c (rb_vm_set_finish_env): add a cast.
* vm.h: support __fastcall for MSVC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 20:03:53 +00:00
ko1
41e9245e85
* compile.c (iseq_translate_direct_threaded_code): fix prototype
...
function name.
* vm.h: add correct cast.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 11:33:01 +00:00
ko1
c44e2cdd58
* vm_evalbody.ci: support OPT_CALL_THREADED_CODE.
...
* insns.def, vm.c, vm.h: ditto.
* vm.h: add VM_CFP_CNT() and VM_SP_CNT().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 08:21:21 +00:00
ko1
9315740101
* cont.c (rb_fiber_s_new): revert initializing VM stack.
...
* yarvcore.c (th_init2): ditto.
* vm.c, vm.h: fix to stop using Qundef on VM stack. According to
this change, VM stack should not include Qundef value.
* insns.def (putundef): removed.
* compile.c (iseq_compile_each): ditto.
* eval.c (eval): fix spacing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-26 06:14:44 +00:00
ko1
7980e653e5
* call_cfunc.ci: removed.
...
* insnhelper.ci: added. this function includes all functions that
vm insns need.
* common.mk: ditto.
* insnhelper.h, vm.h, vm.c: move some declaration.
* gc.h: remove GC_CHECK() macro because GC.stress is more useful.
* compile.c, iseq.c, vm_dump: ditto.
* gc.h, thread.c: move a prototype decalaration.
* debug.c, debug.h: rename some functions.
* compile.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 17:19:22 +00:00
ko1
affa7430b7
* compile.c, vm_macro.def: support tail call optimization
...
(on default, this feature is not enabled).
* iseq.c, compile.c, vm_opts.h: add "tailcall_optimization"
option.
* sample/test.rb (test_ok): fix to adjust tailcall stack layout.
* insns.def, vm.c, compile.c, yarvcore.c, yarvcore.h:
add opt_gt, opt_le instructions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-21 04:46:51 +00:00
ko1
75d28f8870
* yarvcore.h, compile.c (set_arguments): support post arguments.
...
* test/ruby/test_method.rb: add tests for above.
* test/ruby/test_proc.rb: ditto.
* proc.c: fix an arity bug ([ruby-core:11029]).
* vm.c, vm.h, insns.def, vm_dump.h: fix bmethod process.
* vm.c: support block argument on block parameter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-01 04:35:58 +00:00
nobu
f9b349adb5
* Makefile.in, configure.in, */Makefile.sub (THREAD_MODEL): system
...
specific thread model.
* compile.h, regint.h, vm.h, array.c: removed unnecessary #include.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-28 01:33:57 +00:00
ko1
5e4e71a348
* vm.(c|h), yarvcore.(c|h) (yarvGlobalStateVersion): rename to
...
ruby_vm_global_state_version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-14 18:08:10 +00:00
ko1
9c574383a4
* blockinlining.c, error.c, eval.c, eval_error.h, eval_intern.h,
...
eval_jump.h, eval_load.c, eval_safe.h, gc.c, proc.c, signal.c,
thread.c, thread_pthread.ci, thread_win32.ci, vm.c, vm.h,
vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h:
fix typo (rb_thead_t -> rb_thread_t).
* eval_intern.h: remove unused definitions.
* common.mk: fix around vm_opts.h path
and remove harmful argument passed to insns2vm.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 06:37:46 +00:00
ko1
8ee7d0767f
* blockinlining.c, compile.c, compile.h, error.c, eval.c,
...
eval_intern.h, eval_jump.h, eval_load.c, eval_method.h,
eval_safe.h, gc.c, insnhelper.h, insns.def, iseq.c, proc.c,
process.c, signal.c, thread.c, thread_pthread.ci, thread_win32.ci,
vm.c, vm.h, vm_dump.c, vm_evalbody.ci, vm_macro.def,
yarv.h, yarvcore.h, yarvcore.c: change type and macro names:
* yarv_*_t -> rb_*_t
* yarv_*_struct -> rb_*_struct
* yarv_tag -> rb_vm_tag
* YARV_* -> RUBY_VM_*
* proc.c, vm.c: move functions about env object creation
from proc.c to vm.c.
* proc.c, yarvcore.c: fix rb_cVM initialization place.
* inits.c: change Init_ISeq() order (after Init_VM).
* ruby.h, proc.c: change declaration place of rb_cEnv
from proc.c to ruby.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-06 19:00:03 +00:00
nobu
205f310c29
* call_cfunc.ci, compile.c, compile.h, debug.h, eval.c,
...
eval_error.h, eval_jump.h, eval_load.c, eval_thread.c, gc.c,
insnhelper.h, insns.def, iseq.c, main.c, numeric.c, parse.y,
range.c, regenc.h, ruby.h, signal.c, thread.c, thread_win32.ci,
vm.c, vm.h, vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h:
fixed indents and non-C90 comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 16:26:04 +00:00
ko1
ed9d4087f6
* compile.c, compile.h : add ADD_CALL_RECEIVER() macro.
...
* insns.def (send) : use GET_SELF() direct if FCALL.
* eval.c (rb_f_send) : check method dispatch type to permit
nvoking private method when dispatch type is FCALL/VCALL
* insns.def (opt_ltlt) : remove useless statement.
* vm.h : remove unused macros.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-05 12:00:08 +00:00
ko1
a3e1b1ce7e
* Merge YARV
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00