Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 4771:22cee0ee8927
Merge
author | kvn |
---|---|
date | Fri, 06 Jan 2012 20:09:20 -0800 |
parents | dca455dea3a7 069ab3f976d3 |
children | 8a48c2906f91 |
comparison
equal
deleted
inserted
replaced
4755:2b3acb34791f | 4771:22cee0ee8927 |
---|---|
364 } | 364 } |
365 #endif // ASSERT | 365 #endif // ASSERT |
366 | 366 |
367 // get synchronization object to O0 | 367 // get synchronization object to O0 |
368 { Label done; | 368 { Label done; |
369 const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes(); | 369 const int mirror_offset = in_bytes(Klass::java_mirror_offset()); |
370 __ btst(JVM_ACC_STATIC, O0); | 370 __ btst(JVM_ACC_STATIC, O0); |
371 __ br( Assembler::zero, true, Assembler::pt, done); | 371 __ br( Assembler::zero, true, Assembler::pt, done); |
372 __ delayed()->ld_ptr(Llocals, Interpreter::local_offset_in_bytes(0), O0); // get receiver for not-static case | 372 __ delayed()->ld_ptr(Llocals, Interpreter::local_offset_in_bytes(0), O0); // get receiver for not-static case |
373 | 373 |
374 __ ld_ptr( Lmethod, in_bytes(methodOopDesc::constants_offset()), O0); | 374 __ ld_ptr( Lmethod, in_bytes(methodOopDesc::constants_offset()), O0); |
989 __ btst(JVM_ACC_STATIC, O0); | 989 __ btst(JVM_ACC_STATIC, O0); |
990 __ br( Assembler::zero, false, Assembler::pt, not_static); | 990 __ br( Assembler::zero, false, Assembler::pt, not_static); |
991 // get native function entry point(O0 is a good temp until the very end) | 991 // get native function entry point(O0 is a good temp until the very end) |
992 __ delayed()->ld_ptr(Lmethod, in_bytes(methodOopDesc::native_function_offset()), O0); | 992 __ delayed()->ld_ptr(Lmethod, in_bytes(methodOopDesc::native_function_offset()), O0); |
993 // for static methods insert the mirror argument | 993 // for static methods insert the mirror argument |
994 const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes(); | 994 const int mirror_offset = in_bytes(Klass::java_mirror_offset()); |
995 | 995 |
996 __ ld_ptr(Lmethod, methodOopDesc:: constants_offset(), O1); | 996 __ ld_ptr(Lmethod, methodOopDesc:: constants_offset(), O1); |
997 __ ld_ptr(O1, constantPoolOopDesc::pool_holder_offset_in_bytes(), O1); | 997 __ ld_ptr(O1, constantPoolOopDesc::pool_holder_offset_in_bytes(), O1); |
998 __ ld_ptr(O1, mirror_offset, O1); | 998 __ ld_ptr(O1, mirror_offset, O1); |
999 #ifdef ASSERT | 999 #ifdef ASSERT |