Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 9114:01958088b87d
Merge.
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Mon, 15 Apr 2013 08:49:14 +0200 |
parents | 6c33b2076d7c c6a1ffc707ff |
children | 36bcc10e01c0 |
comparison
equal
deleted
inserted
replaced
9112:6c33b2076d7c | 9114:01958088b87d |
---|---|
1668 const BasicType* sig_bt, | 1668 const BasicType* sig_bt, |
1669 const VMRegPair* regs) { | 1669 const VMRegPair* regs) { |
1670 verify_oop_args(masm, method, sig_bt, regs); | 1670 verify_oop_args(masm, method, sig_bt, regs); |
1671 vmIntrinsics::ID iid = method->intrinsic_id(); | 1671 vmIntrinsics::ID iid = method->intrinsic_id(); |
1672 | 1672 |
1673 #ifdef GRAAL | |
1674 if (iid == vmIntrinsics::_CompilerToVMImpl_executeCompiledMethod) { | |
1675 // We are called from compiled code here. The three object arguments | |
1676 // are already in the correct registers (j_rarg0, jrarg1, jrarg2). The | |
1677 // fourth argument (j_rarg3) is a raw pointer to the nmethod. Make a tail | |
1678 // call to its verified entry point. | |
1679 __ jmp(Address(j_rarg3, nmethod::verified_entry_point_offset())); | |
1680 return; | |
1681 } | |
1682 #endif | |
1683 | |
1673 // Now write the args into the outgoing interpreter space | 1684 // Now write the args into the outgoing interpreter space |
1674 bool has_receiver = false; | 1685 bool has_receiver = false; |
1675 Register receiver_reg = noreg; | 1686 Register receiver_reg = noreg; |
1676 int member_arg_pos = -1; | 1687 int member_arg_pos = -1; |
1677 Register member_reg = noreg; | 1688 Register member_reg = noreg; |