Message ID | 1392130093.17642.5.camel@localhost.localdomain |
---|---|
State | New |
Headers | show |
Ok, so if I back out the changes to shared code are you happy for me to push? Regards, Ed. On Tue, 2014-02-11 at 15:02 +0000, Andrew Haley wrote: > On 02/11/2014 02:48 PM, Edward Nevill wrote: > > > The following patch removes all uses of > > Deoptimization::UnrollBlock::initial_info_offset_in_bytes and also > > removes the setting of initial_info. > > The Aarch64 parts are OK, but please don't change the shared code. My > thinking is that we'll have to argue every single change to shared > code, and this one isn't worth arguing about. > > Andrew. >
diff -r 896a8f65fa0b -r 6cdb560d99ab src/cpu/aarch64/vm/frame_aarch64.cpp --- a/src/cpu/aarch64/vm/frame_aarch64.cpp Fri Feb 07 10:44:52 2014 +0000 +++ b/src/cpu/aarch64/vm/frame_aarch64.cpp Fri Feb 07 16:44:17 2014 +0000 @@ -688,11 +688,6 @@ } #endif -intptr_t *frame::initial_deoptimization_info() { - // used to reset the saved FP - return fp(); -} - intptr_t* frame::real_fp() const { if (_cb != NULL) { // use the frame size if valid diff -r 896a8f65fa0b -r 6cdb560d99ab src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Fri Feb 07 10:44:52 2014 +0000 +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Fri Feb 07 16:44:17 2014 +0000 @@ -2681,11 +2681,6 @@ Deoptimization::UnrollBlock:: number_of_frames_offset_in_bytes())); // (int) - // Pick up the initial fp we should save - __ ldr(rfp, - Address(r4, - Deoptimization::UnrollBlock::initial_info_offset_in_bytes())); - // Now adjust the caller's stack to make up for the extra locals but // record the original sp so that we can save it in the skeletal // interpreter frame and the stack walking of interpreter_sender diff -r 896a8f65fa0b -r 6cdb560d99ab src/share/vm/runtime/deoptimization.cpp --- a/src/share/vm/runtime/deoptimization.cpp Fri Feb 07 10:44:52 2014 +0000 +++ b/src/share/vm/runtime/deoptimization.cpp Fri Feb 07 16:44:17 2014 +0000 @@ -497,7 +497,9 @@ // On some platforms, we need a way to pass some platform dependent // information to the unpacking code so the skeletal frames come out // correct (initial fp value, unextended sp, ...) +#ifndef AARCH64 info->set_initial_info((intptr_t) array->sender().initial_deoptimization_info()); +#endif if (array->frames() > 1) { if (VerifyStack && TraceDeoptimization) { --- CUR HERE ---