Mercurial > hg > graal-compiler
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; |