19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #include "precompiled.hpp"
27 #include "interpreter/interpreter.hpp"
28 #include "memory/resourceArea.hpp"
29 #include "oops/markOop.hpp"
30 #include "oops/method.hpp"
31 #include "oops/oop.inline.hpp"
32 #include "runtime/frame.inline.hpp"
33 #include "runtime/handles.inline.hpp"
34 #include "runtime/javaCalls.hpp"
35 #include "runtime/monitorChunk.hpp"
36 #include "runtime/signature.hpp"
37 #include "runtime/stubCodeGenerator.hpp"
38 #include "runtime/stubRoutines.hpp"
39 #include "vmreg_ppc.inline.hpp"
40 #ifdef COMPILER1
41 #include "c1/c1_Runtime1.hpp"
42 #include "runtime/vframeArray.hpp"
43 #endif
44
45 #ifdef ASSERT
46 void RegisterMap::check_location_valid() {
47 }
48 #endif // ASSERT
49
50 bool frame::safe_for_sender(JavaThread *thread) {
51 bool safe = false;
52 address cursp = (address)sp();
53 address curfp = (address)fp();
54 if ((cursp != NULL && curfp != NULL &&
55 (cursp <= thread->stack_base() && cursp >= thread->stack_base() - thread->stack_size())) &&
56 (curfp <= thread->stack_base() && curfp >= thread->stack_base() - thread->stack_size())) {
57 safe = true;
58 }
59 return safe;
|
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #include "precompiled.hpp"
27 #include "interpreter/interpreter.hpp"
28 #include "memory/resourceArea.hpp"
29 #include "oops/markOop.hpp"
30 #include "oops/method.hpp"
31 #include "oops/oop.inline.hpp"
32 #include "runtime/frame.inline.hpp"
33 #include "runtime/handles.inline.hpp"
34 #include "runtime/javaCalls.hpp"
35 #include "runtime/monitorChunk.hpp"
36 #include "runtime/signature.hpp"
37 #include "runtime/stubCodeGenerator.hpp"
38 #include "runtime/stubRoutines.hpp"
39 #ifdef COMPILER1
40 #include "c1/c1_Runtime1.hpp"
41 #include "runtime/vframeArray.hpp"
42 #endif
43
44 #ifdef ASSERT
45 void RegisterMap::check_location_valid() {
46 }
47 #endif // ASSERT
48
49 bool frame::safe_for_sender(JavaThread *thread) {
50 bool safe = false;
51 address cursp = (address)sp();
52 address curfp = (address)fp();
53 if ((cursp != NULL && curfp != NULL &&
54 (cursp <= thread->stack_base() && cursp >= thread->stack_base() - thread->stack_size())) &&
55 (curfp <= thread->stack_base() && curfp >= thread->stack_base() - thread->stack_size())) {
56 safe = true;
57 }
58 return safe;
|