< prev index next >

src/cpu/x86/vm/templateTable_x86.cpp

Print this page

@@ -3844,11 +3844,11 @@
   const int tags_offset = Array<u1>::base_offset_in_bytes();
   __ cmpb(Address(rax, rdx, Address::times_1, tags_offset), JVM_CONSTANT_Class);
   __ jcc(Assembler::notEqual, slow_case_no_pop);
 
   // get InstanceKlass
-  __ movptr(rcx, Address(rcx, rdx, Address::times_ptr, sizeof(ConstantPool)));
+  __ load_resolved_klass_at_index(rcx, rdx, rcx);
   __ push(rcx);  // save the contexts of klass for initializing the header
 
   // make sure klass is initialized & doesn't have finalizer
   // make sure klass is fully initialized
   __ cmpb(Address(rcx, InstanceKlass::init_state_offset()), InstanceKlass::fully_initialized);

@@ -4059,12 +4059,11 @@
   __ jmpb(resolved);
 
   // Get superklass in rax and subklass in rbx
   __ bind(quicked);
   __ mov(rdx, rax); // Save object in rdx; rax needed for subtype check
-  __ movptr(rax, Address(rcx, rbx,
-                       Address::times_ptr, sizeof(ConstantPool)));
+  __ load_resolved_klass_at_index(rcx, rbx, rax);
 
   __ bind(resolved);
   __ load_klass(rbx, rdx);
 
   // Generate subtype check.  Blows rcx, rdi.  Object in rdx.

@@ -4126,12 +4125,11 @@
   __ jmpb(resolved);
 
   // Get superklass in rax and subklass in rdx
   __ bind(quicked);
   __ load_klass(rdx, rax);
-  __ movptr(rax, Address(rcx, rbx,
-                         Address::times_ptr, sizeof(ConstantPool)));
+  __ load_resolved_klass_at_index(rcx, rbx, rax);
 
   __ bind(resolved);
 
   // Generate subtype check.  Blows rcx, rdi
   // Superklass in rax.  Subklass in rdx.
< prev index next >