src/cpu/x86/vm/templateInterpreter_x86_64.cpp

changeset 3400
22cee0ee8927
parent 3372
dca455dea3a7
parent 3391
069ab3f976d3
child 3787
6759698e3140
equal deleted inserted replaced
3384:2b3acb34791f 3400:22cee0ee8927
513 } 513 }
514 #endif // ASSERT 514 #endif // ASSERT
515 515
516 // get synchronization object 516 // get synchronization object
517 { 517 {
518 const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + 518 const int mirror_offset = in_bytes(Klass::java_mirror_offset());
519 Klass::java_mirror_offset_in_bytes();
520 Label done; 519 Label done;
521 __ movl(rax, access_flags); 520 __ movl(rax, access_flags);
522 __ testl(rax, JVM_ACC_STATIC); 521 __ testl(rax, JVM_ACC_STATIC);
523 // get receiver (assume this is frequent case) 522 // get receiver (assume this is frequent case)
524 __ movptr(rax, Address(r14, Interpreter::local_offset_in_bytes(0))); 523 __ movptr(rax, Address(r14, Interpreter::local_offset_in_bytes(0)));
1014 rax); 1013 rax);
1015 1014
1016 // pass mirror handle if static call 1015 // pass mirror handle if static call
1017 { 1016 {
1018 Label L; 1017 Label L;
1019 const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + 1018 const int mirror_offset = in_bytes(Klass::java_mirror_offset());
1020 Klass::java_mirror_offset_in_bytes();
1021 __ movl(t, Address(method, methodOopDesc::access_flags_offset())); 1019 __ movl(t, Address(method, methodOopDesc::access_flags_offset()));
1022 __ testl(t, JVM_ACC_STATIC); 1020 __ testl(t, JVM_ACC_STATIC);
1023 __ jcc(Assembler::zero, L); 1021 __ jcc(Assembler::zero, L);
1024 // get mirror 1022 // get mirror
1025 __ movptr(t, Address(method, methodOopDesc::constants_offset())); 1023 __ movptr(t, Address(method, methodOopDesc::constants_offset()));

mercurial