Mercurial > hg > graal-compiler
comparison src/cpu/ppc/vm/vtableStubs_ppc_64.cpp @ 14445:67fa91961822
8029940: PPC64 (part 122): C2 compiler port
Reviewed-by: kvn
author | goetz |
---|---|
date | Wed, 11 Dec 2013 00:06:11 +0100 |
parents | b0133e4187d3 |
children | 71a71b0bc844 |
comparison
equal
deleted
inserted
replaced
14444:492e67693373 | 14445:67fa91961822 |
---|---|
111 #endif | 111 #endif |
112 | 112 |
113 // If the vtable entry is null, the method is abstract. | 113 // If the vtable entry is null, the method is abstract. |
114 address ame_addr = __ pc(); // ame = abstract method error | 114 address ame_addr = __ pc(); // ame = abstract method error |
115 | 115 |
116 __ ld_with_trap_null_check(R12_scratch2, in_bytes(Method::from_compiled_offset()), R19_method); | 116 __ load_with_trap_null_check(R12_scratch2, in_bytes(Method::from_compiled_offset()), R19_method); |
117 __ mtctr(R12_scratch2); | 117 __ mtctr(R12_scratch2); |
118 __ bctr(); | 118 __ bctr(); |
119 masm->flush(); | 119 masm->flush(); |
120 | 120 |
121 guarantee(__ pc() <= s->code_end(), "overflowed buffer"); | 121 guarantee(__ pc() <= s->code_end(), "overflowed buffer"); |
145 | 145 |
146 assert(VtableStub::receiver_location() == R3_ARG1->as_VMReg(), "receiver expected in R3_ARG1"); | 146 assert(VtableStub::receiver_location() == R3_ARG1->as_VMReg(), "receiver expected in R3_ARG1"); |
147 | 147 |
148 // Entry arguments: | 148 // Entry arguments: |
149 // R19_method: Interface | 149 // R19_method: Interface |
150 // R3_ARG1: Receiver | 150 // R3_ARG1: Receiver |
151 // | 151 // |
152 | 152 |
153 const Register rcvr_klass = R11_scratch1; | 153 const Register rcvr_klass = R11_scratch1; |
154 const Register vtable_len = R12_scratch2; | 154 const Register vtable_len = R12_scratch2; |
155 const Register itable_entry_addr = R21_tmp1; | 155 const Register itable_entry_addr = R21_tmp1; |