mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 21:49:06 +02:00
merges r21536 from trunk into ruby_1_9_1.
* vm.c (rb_vm_inc_const_missing_count, ruby_vm_const_missing_count): added. * vm_insnhelper.h: ditto. * variable.c (rb_const_get_0), insns.def: Constants should not be cached if const_missing is called. [ruby-core:21059] [Bug #967] * bootstraptest/test_class.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5c65dc7ae6
commit
c923eaf176
6 changed files with 42 additions and 2 deletions
|
@ -17,6 +17,8 @@
|
|||
#include "node.h"
|
||||
|
||||
void rb_vm_change_state(void);
|
||||
void rb_vm_inc_const_missing_count(void);
|
||||
|
||||
st_table *rb_global_tbl;
|
||||
st_table *rb_class_tbl;
|
||||
static ID autoload, classpath, tmp_classpath;
|
||||
|
@ -1488,7 +1490,9 @@ rb_const_get_0(VALUE klass, ID id, int exclude, int recurse)
|
|||
goto retry;
|
||||
}
|
||||
|
||||
return const_missing(klass, id);
|
||||
value = const_missing(klass, id);
|
||||
rb_vm_inc_const_missing_count();
|
||||
return value;
|
||||
}
|
||||
|
||||
VALUE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue