--- a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp Sun Jan 22 14:03:20 2012 -0800
+++ b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp Tue Jan 24 15:41:17 2012 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -820,11 +820,19 @@
values.describe(frame_no, sp() + w, err_msg("register save area word %d", w), 1);
}
- if (is_interpreted_frame()) {
+ if (is_ricochet_frame()) {
+ MethodHandles::RicochetFrame::describe(this, values, frame_no);
+ } else if (is_interpreted_frame()) {
DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp);
DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp);
DESCRIBE_FP_OFFSET(interpreter_frame_padding);
DESCRIBE_FP_OFFSET(interpreter_frame_oop_temp);
+
+ // esp, according to Lesp (e.g. not depending on bci), if seems valid
+ intptr_t* esp = *interpreter_frame_esp_addr();
+ if ((esp >= sp()) && (esp < fp())) {
+ values.describe(-1, esp, "*Lesp");
+ }
}
if (!is_compiled_frame()) {
@@ -844,4 +852,3 @@
// unused... but returns fp() to minimize changes introduced by 7087445
return fp();
}
-