Commit Graph

7 Commits

Author SHA1 Message Date
matz d99bcbe583 * vm.c (eval_get_cvar_base): destination for class variable access
is now strictly innermost surrounding class or module.  warned
  if accessed from toplevel.

* variable.c (rb_cvar_get): new class variable look-up scheme:
  1) look up in the class.  2) if the class is singleton attached
  to a class (i.e. metaclass) then start look up in the attached
  class and its ancestors. 3) otherwise, look-up in ancestors of
  the class.

* eval.c (cvar_cbase): destination for class variable access is
  the class/module that holds the method, or cbase outside of
  methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 09:47:55 +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
ko1 ca46eab090 * vm.c (eval_search_super_klass): rename to search_super_klass() and
use it by th_call_super().
* insns.def: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-16 08:52:22 +00:00
ko1 63315f6305 * vm.c (invoke_block): fix to specify self.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-16 08:43:18 +00:00
ko1 7eb928624f * eval_proc.c (rb_proc_new): added.
* string.c (sym_to_proc): supported.
* vm.c (invoke_block, th_invoke_yield, th_invoke_proc): fix to support
  rb_proc_new.
* yarvcore.c: add a test code.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-16 03:06:01 +00:00
ko1 d22d3b5a7a * benchmark/bm_app_pentomino.rb : use Array#dup instead of
Array#clone
* benchmark/bmx_temp.rb : removed
* benchmark/run.rb : use run.rb instead of run_rite.rb
* common.mk : ditto
* benchmark/run_rite.rb : removed
* common.mk : use $(srcdir)/test.rb to run a test program
with "make run"
* benchmark/bmx_temp.rb : removed and
set svn:ignore (bmx_*.rb) to benchmark/
* test.rb : set svn:ignore



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-05 13:52:16 +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