diff src/share/vm/interpreter/interpreterRuntime.cpp @ 4043:12d38ffcba2a

7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check Reviewed-by: iveresov, never
author twisti
date Tue, 25 Oct 2011 00:55:10 -0700
parents e6b1331a51d2
children 04b9a2566eec 20334ed5ed3c
line wrap: on
line diff
--- a/src/share/vm/interpreter/interpreterRuntime.cpp	Mon Oct 24 07:53:17 2011 -0700
+++ b/src/share/vm/interpreter/interpreterRuntime.cpp	Tue Oct 25 00:55:10 2011 -0700
@@ -549,8 +549,8 @@
 
   if (is_put && !is_static && klass->is_subclass_of(SystemDictionary::CallSite_klass()) && (info.name() == vmSymbols::target_name())) {
     const jint direction = frame::interpreter_frame_expression_stack_direction();
-    oop call_site     = *((oop*) thread->last_frame().interpreter_frame_tos_at(-1 * direction));
-    oop method_handle = *((oop*) thread->last_frame().interpreter_frame_tos_at( 0 * direction));
+    Handle call_site    (THREAD, *((oop*) thread->last_frame().interpreter_frame_tos_at(-1 * direction)));
+    Handle method_handle(THREAD, *((oop*) thread->last_frame().interpreter_frame_tos_at( 0 * direction)));
     assert(call_site    ->is_a(SystemDictionary::CallSite_klass()),     "must be");
     assert(method_handle->is_a(SystemDictionary::MethodHandle_klass()), "must be");