equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
27 #include "interpreter/bytecode.hpp" |
27 #include "interpreter/bytecode.hpp" |
28 #include "interpreter/interpreter.hpp" |
28 #include "interpreter/interpreter.hpp" |
29 #include "memory/allocation.inline.hpp" |
29 #include "memory/allocation.inline.hpp" |
30 #include "memory/resourceArea.hpp" |
30 #include "memory/resourceArea.hpp" |
31 #include "memory/universe.inline.hpp" |
31 #include "memory/universe.inline.hpp" |
32 #include "oops/methodDataOop.hpp" |
32 #include "oops/methodData.hpp" |
33 #include "oops/oop.inline.hpp" |
33 #include "oops/oop.inline.hpp" |
34 #include "prims/jvmtiThreadState.hpp" |
34 #include "prims/jvmtiThreadState.hpp" |
35 #include "runtime/handles.inline.hpp" |
35 #include "runtime/handles.inline.hpp" |
36 #include "runtime/monitorChunk.hpp" |
36 #include "runtime/monitorChunk.hpp" |
37 #include "runtime/sharedRuntime.hpp" |
37 #include "runtime/sharedRuntime.hpp" |
297 if (ProfileInterpreter) { |
297 if (ProfileInterpreter) { |
298 iframe()->interpreter_frame_set_mdx(0); // clear out the mdp. |
298 iframe()->interpreter_frame_set_mdx(0); // clear out the mdp. |
299 } |
299 } |
300 iframe()->interpreter_frame_set_bcx((intptr_t)bcp); // cannot use bcp because frame is not initialized yet |
300 iframe()->interpreter_frame_set_bcx((intptr_t)bcp); // cannot use bcp because frame is not initialized yet |
301 if (ProfileInterpreter) { |
301 if (ProfileInterpreter) { |
302 methodDataOop mdo = method()->method_data(); |
302 MethodData* mdo = method()->method_data(); |
303 if (mdo != NULL) { |
303 if (mdo != NULL) { |
304 int bci = iframe()->interpreter_frame_bci(); |
304 int bci = iframe()->interpreter_frame_bci(); |
305 if (use_next_mdp) ++bci; |
305 if (use_next_mdp) ++bci; |
306 address mdp = mdo->bci_to_dp(bci); |
306 address mdp = mdo->bci_to_dp(bci); |
307 iframe()->interpreter_frame_set_mdp(mdp); |
307 iframe()->interpreter_frame_set_mdp(mdp); |