Mercurial > hg > graal-compiler
comparison src/cpu/sparc/vm/sharedRuntime_sparc.cpp @ 10684:6ff467cdb105
Code installer changes for SPARC.
author | twisti |
---|---|
date | Tue, 09 Jul 2013 14:39:34 -0700 |
parents | 0d40e1cf70db |
children | 6b0fd0964b87 |
comparison
equal
deleted
inserted
replaced
10683:ae4c79ee71d1 | 10684:6ff467cdb105 |
---|---|
1823 methodHandle method, | 1823 methodHandle method, |
1824 const BasicType* sig_bt, | 1824 const BasicType* sig_bt, |
1825 const VMRegPair* regs) { | 1825 const VMRegPair* regs) { |
1826 verify_oop_args(masm, method, sig_bt, regs); | 1826 verify_oop_args(masm, method, sig_bt, regs); |
1827 vmIntrinsics::ID iid = method->intrinsic_id(); | 1827 vmIntrinsics::ID iid = method->intrinsic_id(); |
1828 | |
1829 #ifdef GRAAL | |
1830 if (iid == vmIntrinsics::_CompilerToVMImpl_executeCompiledMethod) { | |
1831 // We are called from compiled code here. The three object arguments | |
1832 // are already in the correct registers (j_rarg0, jrarg1, jrarg2). The | |
1833 // fourth argument (j_rarg3) is a pointer to the HotSpotInstalledCode object. | |
1834 | |
1835 // Load the nmethod pointer from the HotSpotInstalledCode object | |
1836 // __ movq(j_rarg3, Address(j_rarg3, sizeof(oopDesc))); | |
1837 | |
1838 // Check whether the nmethod was invalidated | |
1839 // __ testq(j_rarg3, j_rarg3); | |
1840 // Label invalid_nmethod; | |
1841 // __ jcc(Assembler::zero, invalid_nmethod); | |
1842 | |
1843 // Perform a tail call to the verified entry point of the nmethod. | |
1844 // __ jmp(Address(j_rarg3, nmethod::verified_entry_point_offset())); | |
1845 | |
1846 // __ bind(invalid_nmethod); | |
1847 | |
1848 // __ jump(RuntimeAddress(StubRoutines::throw_InvalidInstalledCodeException_entry())); | |
1849 __ stop("_CompilerToVMImpl_executeCompiledMethod not implemented"); | |
1850 return; | |
1851 } | |
1852 #endif | |
1828 | 1853 |
1829 // Now write the args into the outgoing interpreter space | 1854 // Now write the args into the outgoing interpreter space |
1830 bool has_receiver = false; | 1855 bool has_receiver = false; |
1831 Register receiver_reg = noreg; | 1856 Register receiver_reg = noreg; |
1832 int member_arg_pos = -1; | 1857 int member_arg_pos = -1; |