diff src/cpu/x86/vm/templateTable_x86_64.cpp @ 3275:bbe95b4337f1

7036960: TemplateTable::fast_aldc in templateTable_x86_64.cpp uses movptr instead of load_klass Reviewed-by: kvn, iveresov
author twisti
date Mon, 18 Apr 2011 06:50:57 -0700
parents 38fea01eb669
children 08ccee2c4dbf
line wrap: on
line diff
--- a/src/cpu/x86/vm/templateTable_x86_64.cpp	Mon Apr 18 01:33:28 2011 -0700
+++ b/src/cpu/x86/vm/templateTable_x86_64.cpp	Mon Apr 18 06:50:57 2011 -0700
@@ -427,7 +427,7 @@
   Label L_done, L_throw_exception;
   const Register con_klass_temp = rcx;  // same as cache
   const Register array_klass_temp = rdx;  // same as index
-  __ movptr(con_klass_temp, Address(rax, oopDesc::klass_offset_in_bytes()));
+  __ load_klass(con_klass_temp, rax);
   __ lea(array_klass_temp, ExternalAddress((address)Universe::systemObjArrayKlassObj_addr()));
   __ cmpptr(con_klass_temp, Address(array_klass_temp, 0));
   __ jcc(Assembler::notEqual, L_done);
@@ -438,7 +438,7 @@
 
   // Load the exception from the system-array which wraps it:
   __ bind(L_throw_exception);
-  __ movptr(rax, Address(rax, arrayOopDesc::base_offset_in_bytes(T_OBJECT)));
+  __ load_heap_oop(rax, Address(rax, arrayOopDesc::base_offset_in_bytes(T_OBJECT)));
   __ jump(ExternalAddress(Interpreter::throw_exception_entry()));
 
   __ bind(L_done);