< prev index next >
src/cpu/aarch32/vm/stubGenerator_aarch32.cpp
Print this page
rev 8069 : 8164652: aarch32: C1 port
*** 1214,1224 ****
// Note that we only have to preserve callee-saved registers since
// the compilers are responsible for supplying a continuation point
// if they expect all registers to be preserved.
// n.b. aarch32 asserts that frame::arg_reg_save_area_bytes == 0
enum layout {
! rfp_off = frame::arg_reg_save_area_bytes/BytesPerInt,
return_off,
framesize // inclusive of return address
};
int insts_size = 512;
--- 1214,1224 ----
// Note that we only have to preserve callee-saved registers since
// the compilers are responsible for supplying a continuation point
// if they expect all registers to be preserved.
// n.b. aarch32 asserts that frame::arg_reg_save_area_bytes == 0
enum layout {
! rfp_off = 0,
return_off,
framesize // inclusive of return address
};
int insts_size = 512;
*** 1235,1247 ****
// thread-local storage and also sets up last_Java_sp slightly
// differently than the real call_VM
__ enter(); // Save FP and LR before call
- // lr and fp are already in place
- assert(frame::arg_reg_save_area_bytes == 0, "please modify this code");
- // __ sub(sp, rfp, frame::arg_reg_save_area_bytes + wordSize); // prolog
assert(is_even(framesize), "sp not 8-byte aligned");
int frame_complete = __ pc() - start;
// Set up last_Java_sp and last_Java_fp
--- 1235,1244 ----
*** 1286,1296 ****
// codeBlob framesize is in words (not VMRegImpl::slot_size)
RuntimeStub* stub =
RuntimeStub::new_runtime_stub(name,
&code,
frame_complete,
! (framesize >> (LogBytesPerWord - LogBytesPerInt)),
oop_maps, false);
return stub->entry_point();
}
// Initialization
--- 1283,1293 ----
// codeBlob framesize is in words (not VMRegImpl::slot_size)
RuntimeStub* stub =
RuntimeStub::new_runtime_stub(name,
&code,
frame_complete,
! framesize,
oop_maps, false);
return stub->entry_point();
}
// Initialization
< prev index next >