11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
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 #ifndef CPU_PPC_VM_FRAME_PPC_INLINE_HPP
27 #define CPU_PPC_VM_FRAME_PPC_INLINE_HPP
28
29 #include "code/codeCache.hpp"
30 #include "code/vmreg.inline.hpp"
31
32 // Inline functions for ppc64 frames:
33
34 // Find codeblob and set deopt_state.
35 inline void frame::find_codeblob_and_set_pc_and_deopt_state(address pc) {
36 assert(pc != NULL, "precondition: must have PC");
37
38 _cb = CodeCache::find_blob(pc);
39 _pc = pc; // Must be set for get_deopt_original_pc()
40
41 _fp = (intptr_t*)own_abi()->callers_sp;
42
43 address original_pc = CompiledMethod::get_deopt_original_pc(this);
44 if (original_pc != NULL) {
45 _pc = original_pc;
46 _deopt_state = is_deoptimized;
47 } else {
48 _deopt_state = not_deoptimized;
49 }
50
|
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
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 #ifndef CPU_PPC_VM_FRAME_PPC_INLINE_HPP
27 #define CPU_PPC_VM_FRAME_PPC_INLINE_HPP
28
29 #include "code/codeCache.hpp"
30 #include "code/vmreg.inline.hpp"
31 #include "utilities/align.hpp"
32
33 // Inline functions for ppc64 frames:
34
35 // Find codeblob and set deopt_state.
36 inline void frame::find_codeblob_and_set_pc_and_deopt_state(address pc) {
37 assert(pc != NULL, "precondition: must have PC");
38
39 _cb = CodeCache::find_blob(pc);
40 _pc = pc; // Must be set for get_deopt_original_pc()
41
42 _fp = (intptr_t*)own_abi()->callers_sp;
43
44 address original_pc = CompiledMethod::get_deopt_original_pc(this);
45 if (original_pc != NULL) {
46 _pc = original_pc;
47 _deopt_state = is_deoptimized;
48 } else {
49 _deopt_state = not_deoptimized;
50 }
51
|