comparison src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 10560:0b1b5356b566

Fixed issues around execute compiled code stub. Made TraceDeoptimization a product flag.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 27 Jun 2013 21:20:07 +0200
parents 40b8c383bc31
children 6b0fd0964b87
comparison
equal deleted inserted replaced
10559:ea02ae30c97c 10560:0b1b5356b566
1678 // We are called from compiled code here. The three object arguments 1678 // We are called from compiled code here. The three object arguments
1679 // are already in the correct registers (j_rarg0, jrarg1, jrarg2). The 1679 // are already in the correct registers (j_rarg0, jrarg1, jrarg2). The
1680 // fourth argument (j_rarg3) is a pointer to the HotSpotInstalledCode object. 1680 // fourth argument (j_rarg3) is a pointer to the HotSpotInstalledCode object.
1681 1681
1682 // Load the nmethod pointer from the HotSpotInstalledCode object 1682 // Load the nmethod pointer from the HotSpotInstalledCode object
1683 __ movq(j_rarg3, Address(j_rarg3, sizeof(oopDesc))); 1683 __ movq(j_rarg4, Address(j_rarg3, sizeof(oopDesc)));
1684 1684
1685 // Check whether the nmethod was invalidated 1685 // Check whether the nmethod was invalidated
1686 __ testq(j_rarg3, j_rarg3); 1686 __ testq(j_rarg4, j_rarg4);
1687 Label invalid_nmethod; 1687 Label invalid_nmethod;
1688 __ jcc(Assembler::zero, invalid_nmethod); 1688 __ jcc(Assembler::zero, invalid_nmethod);
1689 1689
1690 // Perform a tail call to the verified entry point of the nmethod. 1690 // Perform a tail call to the verified entry point of the nmethod.
1691 __ jmp(Address(j_rarg3, nmethod::verified_entry_point_offset())); 1691 __ jmp(Address(j_rarg4, nmethod::verified_entry_point_offset()));
1692 1692
1693 __ bind(invalid_nmethod); 1693 __ bind(invalid_nmethod);
1694 1694
1695 __ jump(RuntimeAddress(StubRoutines::throw_InvalidInstalledCodeException_entry())); 1695 __ jump(RuntimeAddress(StubRoutines::throw_InvalidInstalledCodeException_entry()));
1696 return; 1696 return;