src/cpu/x86/vm/x86_64.ad
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/cpu/x86/vm/x86_64.ad
src/cpu/x86/vm/x86_64.ad
Print this page
*** 2118,2143 ****
// determine who we intended to call.
cbuf.set_insts_mark();
$$$emit8$primary;
if (!_method) {
! emit_d32_reloc(cbuf,
! (int) ($meth$$method - ((intptr_t) cbuf.insts_end()) - 4),
runtime_call_Relocation::spec(),
RELOC_DISP32);
- } else if (_optimized_virtual) {
- emit_d32_reloc(cbuf,
- (int) ($meth$$method - ((intptr_t) cbuf.insts_end()) - 4),
- opt_virtual_call_Relocation::spec(),
- RELOC_DISP32);
} else {
! emit_d32_reloc(cbuf,
! (int) ($meth$$method - ((intptr_t) cbuf.insts_end()) - 4),
! static_call_Relocation::spec(),
! RELOC_DISP32);
! }
! if (_method) {
// Emit stubs for static call.
address mark = cbuf.insts_mark();
address stub = CompiledStaticCall::emit_to_interp_stub(cbuf, mark);
if (stub == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
--- 2118,2136 ----
// determine who we intended to call.
cbuf.set_insts_mark();
$$$emit8$primary;
if (!_method) {
! emit_d32_reloc(cbuf, (int) ($meth$$method - ((intptr_t) cbuf.insts_end()) - 4),
runtime_call_Relocation::spec(),
RELOC_DISP32);
} else {
! int method_index = resolved_method_index(cbuf);
! RelocationHolder rspec = _optimized_virtual ? opt_virtual_call_Relocation::spec(method_index)
! : static_call_Relocation::spec(method_index);
! emit_d32_reloc(cbuf, (int) ($meth$$method - ((intptr_t) cbuf.insts_end()) - 4),
! rspec, RELOC_DISP32);
// Emit stubs for static call.
address mark = cbuf.insts_mark();
address stub = CompiledStaticCall::emit_to_interp_stub(cbuf, mark);
if (stub == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
*** 2146,2156 ****
}
%}
enc_class Java_Dynamic_Call(method meth) %{
MacroAssembler _masm(&cbuf);
! __ ic_call((address)$meth$$method);
%}
enc_class Java_Compiled_Call(method meth)
%{
// JAVA COMPILED CALL
--- 2139,2149 ----
}
%}
enc_class Java_Dynamic_Call(method meth) %{
MacroAssembler _masm(&cbuf);
! __ ic_call((address)$meth$$method, resolved_method_index(cbuf));
%}
enc_class Java_Compiled_Call(method meth)
%{
// JAVA COMPILED CALL
src/cpu/x86/vm/x86_64.ad
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File