src/cpu/x86/vm/templateInterpreter_x86_32.cpp

changeset 3400
22cee0ee8927
parent 3372
dca455dea3a7
parent 3391
069ab3f976d3
child 3787
6759698e3140
equal deleted inserted replaced
3384:2b3acb34791f 3400:22cee0ee8927
559 __ bind(L); 559 __ bind(L);
560 } 560 }
561 #endif // ASSERT 561 #endif // ASSERT
562 // get synchronization object 562 // get synchronization object
563 { Label done; 563 { Label done;
564 const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes(); 564 const int mirror_offset = in_bytes(Klass::java_mirror_offset());
565 __ movl(rax, access_flags); 565 __ movl(rax, access_flags);
566 __ testl(rax, JVM_ACC_STATIC); 566 __ testl(rax, JVM_ACC_STATIC);
567 __ movptr(rax, Address(rdi, Interpreter::local_offset_in_bytes(0))); // get receiver (assume this is frequent case) 567 __ movptr(rax, Address(rdi, Interpreter::local_offset_in_bytes(0))); // get receiver (assume this is frequent case)
568 __ jcc(Assembler::zero, done); 568 __ jcc(Assembler::zero, done);
569 __ movptr(rax, Address(rbx, methodOopDesc::constants_offset())); 569 __ movptr(rax, Address(rbx, methodOopDesc::constants_offset()));
1019 // set result handler 1019 // set result handler
1020 __ movptr(Address(rbp, frame::interpreter_frame_result_handler_offset*wordSize), rax); 1020 __ movptr(Address(rbp, frame::interpreter_frame_result_handler_offset*wordSize), rax);
1021 1021
1022 // pass mirror handle if static call 1022 // pass mirror handle if static call
1023 { Label L; 1023 { Label L;
1024 const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes(); 1024 const int mirror_offset = in_bytes(Klass::java_mirror_offset());
1025 __ movl(t, Address(method, methodOopDesc::access_flags_offset())); 1025 __ movl(t, Address(method, methodOopDesc::access_flags_offset()));
1026 __ testl(t, JVM_ACC_STATIC); 1026 __ testl(t, JVM_ACC_STATIC);
1027 __ jcc(Assembler::zero, L); 1027 __ jcc(Assembler::zero, L);
1028 // get mirror 1028 // get mirror
1029 __ movptr(t, Address(method, methodOopDesc:: constants_offset())); 1029 __ movptr(t, Address(method, methodOopDesc:: constants_offset()));

mercurial