< prev index next >
src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp
Print this page
rev 56744 : 8233078: fix minimal VM build on Linux ppc64(le)
*** 569,587 ****
__ load_const(Rtemp, destination);
__ mtctr(Rtemp);
__ bctr();
}
- #ifdef COMPILER2
static int reg2slot(VMReg r) {
return r->reg2stack() + SharedRuntime::out_preserve_stack_slots();
}
static int reg2offset(VMReg r) {
return (r->reg2stack() + SharedRuntime::out_preserve_stack_slots()) * VMRegImpl::stack_slot_size;
}
- #endif
// ---------------------------------------------------------------------------
// Read the array of BasicTypes from a signature, and compute where the
// arguments should go. Values in the VMRegPair regs array refer to 4-byte
// quantities. Values less than VMRegImpl::stack0 are registers, those above
--- 569,585 ----
*** 1303,1313 ****
gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, call_interpreter, ientry);
return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry, c2i_no_clinit_check_entry);
}
- #ifdef COMPILER2
// An oop arg. Must pass a handle not the oop itself.
static void object_move(MacroAssembler* masm,
int frame_size_in_slots,
OopMap* oop_map, int oop_handle_offset,
bool is_receiver, int* receiver_offset,
--- 1301,1310 ----
*** 1811,1822 ****
// Figure out which address we are really jumping to:
MethodHandles::generate_method_handle_dispatch(masm, iid,
receiver_reg, member_reg, /*for_compiler_entry:*/ true);
}
- #endif // COMPILER2
-
// ---------------------------------------------------------------------------
// Generate a native wrapper for a given method. The method takes arguments
// in the Java compiled code convention, marshals them to the native
// convention (handlizes oops, etc), transitions to native, makes the call,
// returns to java state (possibly blocking), unhandlizes any result and
--- 1808,1817 ----
*** 1849,1859 ****
int compile_id,
BasicType *in_sig_bt,
VMRegPair *in_regs,
BasicType ret_type,
address critical_entry) {
- #ifdef COMPILER2
if (method->is_method_handle_intrinsic()) {
vmIntrinsics::ID iid = method->intrinsic_id();
intptr_t start = (intptr_t)__ pc();
int vep_offset = ((intptr_t)__ pc()) - start;
gen_special_dispatch(masm,
--- 1844,1853 ----
*** 2106,2116 ****
// --------------------------------------------------------------------------
assert(start_pc == (intptr_t)__ pc(), "uep must be at start");
// Check ic: object class == cached class?
if (!method_is_static) {
! Register ic = as_Register(Matcher::inline_cache_reg_encode());
Register receiver_klass = r_temp_1;
__ cmpdi(CCR0, R3_ARG1, 0);
__ beq(CCR0, ic_miss);
__ verify_oop(R3_ARG1);
--- 2100,2110 ----
// --------------------------------------------------------------------------
assert(start_pc == (intptr_t)__ pc(), "uep must be at start");
// Check ic: object class == cached class?
if (!method_is_static) {
! Register ic = R19_inline_cache_reg;
Register receiver_klass = r_temp_1;
__ cmpdi(CCR0, R3_ARG1, 0);
__ beq(CCR0, ic_miss);
__ verify_oop(R3_ARG1);
*** 2636,2646 ****
__ blr();
// Handler for pending exceptions (out-of-line).
// --------------------------------------------------------------------------
!
// Since this is a native call, we know the proper exception handler
// is the empty function. We just pop this frame and then jump to
// forward_exception_entry.
if (!is_critical_native) {
__ align(InteriorEntryAlignment);
--- 2630,2642 ----
__ blr();
// Handler for pending exceptions (out-of-line).
// --------------------------------------------------------------------------
! #ifndef COMPILER2
! intx InteriorEntryAlignment = 16;
! #endif
// Since this is a native call, we know the proper exception handler
// is the empty function. We just pop this frame and then jump to
// forward_exception_entry.
if (!is_critical_native) {
__ align(InteriorEntryAlignment);
*** 2681,2694 ****
if (is_critical_native) {
nm->set_lazy_critical_native(true);
}
return nm;
- #else
- ShouldNotReachHere();
- return NULL;
- #endif // COMPILER2
}
// This function returns the adjust size (in number of words) to a c2i adapter
// activation for use during deoptimization.
int Deoptimization::last_frame_adjust(int callee_parameters, int callee_locals) {
--- 2677,2686 ----
*** 2861,2871 ****
// will replace the address of the deopt_handler in the call
// to Deoptimization::fetch_unroll_info below.
// We can't grab a free register here, because all registers may
// contain live values, so let the RegisterSaver do the adjustment
// of the return pc.
! const int return_pc_adjustment_no_exception = -HandlerImpl::size_deopt_handler();
// Push the "unpack frame"
// Save everything in sight.
map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm,
&first_frame_size_in_bytes,
--- 2853,2864 ----
// will replace the address of the deopt_handler in the call
// to Deoptimization::fetch_unroll_info below.
// We can't grab a free register here, because all registers may
// contain live values, so let the RegisterSaver do the adjustment
// of the return pc.
! //const int return_pc_adjustment_no_exception = -HandlerImpl::size_deopt_handler();
! const int return_pc_adjustment_no_exception = -MacroAssembler::bl64_patchable_size;
// Push the "unpack frame"
// Save everything in sight.
map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm,
&first_frame_size_in_bytes,
< prev index next >