ko1
78029f00d5
* parse.y (new_yield), compile.c (iseq_compile_each): fix
...
passing parameter.
* eval.c, eval_jump.h: simplify rb_yield*.
* proc.c (proc_mark): fix to mark proc->block.proc.
* proc.c (Init_Proc): add Proc#lambda?
* test/ruby/test_lambda.rb: add some tests.
* vm.c (invoke_block): fix to check lambda block or not.
* vm.c (th_yield_setup_args): fix to check arguments size
when lambda block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 17:26:00 +00:00
ko1
66d4a354a8
* proc.c (Init_Proc): remove a line break.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-02 07:47:20 +00:00
ko1
f80841275d
* proc.c (proc_arity): fix an arity bug ([ruby-core:11060]).
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-01 05:01:15 +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
354844be45
* eval_intern.h (PUSH_TAG): no argument now.
...
* eval.c, eval_error.h, eval_jump.h, eval_load.c, proc.c, thread.c:
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-25 01:35:13 +00:00
ko1
bb7a2d40ff
* compile.c, parse.y, eval.c, intern.h, iseq.c, lex.c, node.h,
...
proc.c, vm.c, vm_macro.def, vm_macro.def, yarvcore.c, yarvcore.h,
debug.c, debug.h: merge half-baked-1.9 changes. The biggest change
is to change node structure around NODE_SCOPE, NODE_ARGS. Every
scope (method/class/block) has own NODE_SCOPE node and NODE_ARGS
represents more details of arguments information. I'll write a
document about detail of node structure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-21 11:15:15 +00:00
ko1
71986ef6bc
* yarvcore.h:
...
rename:
rb_iseq_t#file_name -> filename
rb_iseq_t#local_tbl -> local_table
add:
rb_iseq_t#local_table_size
* compile.c: separate local_table_size and local_size
(local variable size)
* blockinlining.c: apply above rename.
* compile.h: ditto.
* eval.c: ditto.
* iseq.c: ditto.
* proc.c: ditto.
* vm.c: ditto.
* vm_dump.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-25 01:34:33 +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
ko1
a4a8101965
* proc.c: support Binding#eval.
...
* yarvtest/test_eval.rb: add a test for above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-05 18:50:35 +00:00
ko1
0d70d88643
* proc.c: refactoring (remove K&R style, move Binding stuffs from
...
Init_Proc() to Init_Binding()).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-05 18:31:08 +00:00
nobu
d08112a656
* proc.c (yarv_proc_alloc): needs return.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 15:50:11 +00:00
nobu
c1f5d22719
* *.def, proc.c, vm_opts.h.base, template/*: set properties.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 15:21:41 +00:00
matz
0fe77cd26b
* eval_proc.c (method_receiver): add new method to get the bound
...
receiver of the method object. [ruby-talk:234949]
* eval_proc.c (method_name): new method to get the name of a
method.
* eval_proc.c (method_owner): a new method to get the class or
module that defines the method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-20 14:25:07 +00:00
ko1
dbee678630
* some refactoring around yarvcore and proc.
...
* eval_proc.c: renamed to proc.c.
* common.mk: ditto.
* yarvcore.h, yarvcore.c: rename or remove some global variables
removed: mYarvCore, mYarvInsns
renamed: cYarvISeq -> rb_cISeq,
cYarvProc -> rb_cProc, cYarvBinding -> rb_cBinding
::YarvCore module is removed and ::YarvCore::VM class becomes ::VM.
And change/remove some functions which added with YARV.
* compile.c: ditto.
* eval.c: ditto.
* iseq.c: ditto.
* vm.c: ditto.
* inits.c: rename Init_yarvcore to Init_vm.
* yarvcore.c, proc.c: move some functions and initialization
from yarvcore.c to proc.c.
* intern.h, proc.c: add global function rb_binding_new(void).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-17 08:48:52 +00:00