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:
yugui 2009-01-15 16:32:49 +00:00
parent 5c65dc7ae6
commit c923eaf176
6 changed files with 42 additions and 2 deletions

8
vm.c
View file

@ -34,6 +34,8 @@ VALUE rb_cEnv;
VALUE rb_mRubyVMFrozenCore;
VALUE ruby_vm_global_state_version = 1;
VALUE ruby_vm_const_missing_count = 0;
char ruby_vm_redefined_flag[BOP_LAST_];
rb_thread_t *ruby_current_thread = 0;
@ -49,6 +51,12 @@ rb_vm_change_state(void)
INC_VM_STATE_VERSION();
}
void
rb_vm_inc_const_missing_count(void)
{
ruby_vm_const_missing_count +=1;
}
/* control stack frame */
static inline VALUE