8199809: Don't include frame.inline.hpp and other.inline.hpp from .hpp files
Remove frame.inline.hpp,etc from header files and adjust transitive includes. Reviewed-by: stefank, stuefe
This commit is contained in:
parent
b15a3ff611
commit
221d0f4c54
src/hotspot
cpu
aarch64
c1_LIRAssembler_aarch64.cppframe_aarch64.hppframe_aarch64.inline.hppinterp_masm_aarch64.cppinterpreterRT_aarch64.cppinterpreterRT_aarch64.hppjvmciCodeInstaller_aarch64.cppmethodHandles_aarch64.cpptemplateTable_aarch64.cpp
arm
c1_LIRAssembler_arm.cppframe_arm.hppframe_arm.inline.hppinterp_masm_arm.cppinterpreterRT_arm.cppinterpreterRT_arm.hppjvmciCodeInstaller_arm.cppmethodHandles_arm.cpptemplateTable_arm.cpp
ppc
c1_LIRAssembler_ppc.cppframe_ppc.hppframe_ppc.inline.hppinterp_masm_ppc_64.cppinterpreterRT_ppc.cppinterpreterRT_ppc.hppjvmciCodeInstaller_ppc.cppmethodHandles_ppc.cpptemplateTable_ppc_64.cpp
s390
c1_LIRAssembler_s390.cppframe_s390.hppframe_s390.inline.hppinterp_masm_s390.cppinterpreterRT_s390.cppinterpreterRT_s390.hppjvmciCodeInstaller_s390.cppmethodHandles_s390.cpptemplateTable_s390.cpp
sparc
c1_LIRAssembler_sparc.cppframe_sparc.hppframe_sparc.inline.hppinterp_masm_sparc.cppinterpreterRT_sparc.cppinterpreterRT_sparc.hppjvmciCodeInstaller_sparc.cppmethodHandles_sparc.cpptemplateTable_sparc.cpp
x86
c1_LIRAssembler_x86.cppframe_x86.hppframe_x86.inline.hppinterp_masm_x86.cppinterpreterRT_x86.hppinterpreterRT_x86_32.cppinterpreterRT_x86_64.cppjvmciCodeInstaller_x86.cppmethodHandles_x86.cpptemplateTable_x86.cpp
zero
os_cpu
aix_ppc
bsd_x86
bsd_zero
linux_aarch64
linux_arm
linux_ppc
linux_s390
linux_sparc
linux_x86
linux_zero
solaris_sparc
solaris_x86
windows_x86
share
@ -38,6 +38,7 @@
|
|||||||
#include "gc/shared/collectedHeap.hpp"
|
#include "gc/shared/collectedHeap.hpp"
|
||||||
#include "nativeInst_aarch64.hpp"
|
#include "nativeInst_aarch64.hpp"
|
||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_aarch64.inline.hpp"
|
#include "vmreg_aarch64.inline.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -158,4 +158,6 @@
|
|||||||
// deoptimization support
|
// deoptimization support
|
||||||
void interpreter_frame_set_last_sp(intptr_t* sp);
|
void interpreter_frame_set_last_sp(intptr_t* sp);
|
||||||
|
|
||||||
|
static jint interpreter_frame_expression_stack_direction() { return -1; }
|
||||||
|
|
||||||
#endif // CPU_AARCH64_VM_FRAME_AARCH64_HPP
|
#endif // CPU_AARCH64_VM_FRAME_AARCH64_HPP
|
||||||
|
@ -227,9 +227,6 @@ inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
|
|
||||||
|
|
||||||
|
|
||||||
// Entry frames
|
// Entry frames
|
||||||
|
|
||||||
inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const {
|
inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -36,6 +36,7 @@
|
|||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
#include "runtime/basicLock.hpp"
|
#include "runtime/basicLock.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
|
#include "interpreter/interp_masm.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
@ -42,6 +43,14 @@ Register InterpreterRuntime::SignatureHandlerGenerator::from() { return rlocals;
|
|||||||
Register InterpreterRuntime::SignatureHandlerGenerator::to() { return sp; }
|
Register InterpreterRuntime::SignatureHandlerGenerator::to() { return sp; }
|
||||||
Register InterpreterRuntime::SignatureHandlerGenerator::temp() { return rscratch1; }
|
Register InterpreterRuntime::SignatureHandlerGenerator::temp() { return rscratch1; }
|
||||||
|
|
||||||
|
InterpreterRuntime::SignatureHandlerGenerator::SignatureHandlerGenerator(
|
||||||
|
const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
||||||
|
_masm = new MacroAssembler(buffer);
|
||||||
|
_num_int_args = (method->is_static() ? 1 : 0);
|
||||||
|
_num_fp_args = 0;
|
||||||
|
_stack_offset = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
||||||
const Address src(from(), Interpreter::local_offset_in_bytes(offset()));
|
const Address src(from(), Interpreter::local_offset_in_bytes(offset()));
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -26,8 +26,8 @@
|
|||||||
#ifndef CPU_AARCH64_VM_INTERPRETERRT_AARCH64_HPP
|
#ifndef CPU_AARCH64_VM_INTERPRETERRT_AARCH64_HPP
|
||||||
#define CPU_AARCH64_VM_INTERPRETERRT_AARCH64_HPP
|
#define CPU_AARCH64_VM_INTERPRETERRT_AARCH64_HPP
|
||||||
|
|
||||||
#include "asm/macroAssembler.hpp"
|
// This is included in the middle of class Interpreter.
|
||||||
#include "memory/allocation.hpp"
|
// Do not include files here.
|
||||||
|
|
||||||
// native method calls
|
// native method calls
|
||||||
|
|
||||||
@ -47,12 +47,7 @@ class SignatureHandlerGenerator: public NativeSignatureIterator {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Creation
|
// Creation
|
||||||
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
|
||||||
_masm = new MacroAssembler(buffer);
|
|
||||||
_num_int_args = (method->is_static() ? 1 : 0);
|
|
||||||
_num_fp_args = 0;
|
|
||||||
_stack_offset = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code generation
|
// Code generation
|
||||||
void generate(uint64_t fingerprint);
|
void generate(uint64_t fingerprint);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -26,6 +26,7 @@
|
|||||||
#include "jvmci/jvmciCompilerToVM.hpp"
|
#include "jvmci/jvmciCompilerToVM.hpp"
|
||||||
#include "jvmci/jvmciJavaClasses.hpp"
|
#include "jvmci/jvmciJavaClasses.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_aarch64.inline.hpp"
|
#include "vmreg_aarch64.inline.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -30,6 +30,7 @@
|
|||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
|
|
||||||
#define __ _masm->
|
#define __ _masm->
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/stubRoutines.hpp"
|
#include "runtime/stubRoutines.hpp"
|
||||||
#include "runtime/synchronizer.hpp"
|
#include "runtime/synchronizer.hpp"
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "gc/shared/collectedHeap.hpp"
|
#include "gc/shared/collectedHeap.hpp"
|
||||||
#include "nativeInst_arm.hpp"
|
#include "nativeInst_arm.hpp"
|
||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_arm.inline.hpp"
|
#include "vmreg_arm.inline.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -135,4 +135,6 @@
|
|||||||
// helper to update a map with callee-saved FP
|
// helper to update a map with callee-saved FP
|
||||||
static void update_map_with_saved_link(RegisterMap* map, intptr_t** link_addr);
|
static void update_map_with_saved_link(RegisterMap* map, intptr_t** link_addr);
|
||||||
|
|
||||||
|
static jint interpreter_frame_expression_stack_direction() { return -1; }
|
||||||
|
|
||||||
#endif // CPU_ARM_VM_FRAME_ARM_HPP
|
#endif // CPU_ARM_VM_FRAME_ARM_HPP
|
||||||
|
@ -218,9 +218,6 @@ inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
|
|
||||||
|
|
||||||
|
|
||||||
// Entry frames
|
// Entry frames
|
||||||
|
|
||||||
inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const {
|
inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const {
|
||||||
|
@ -40,6 +40,7 @@
|
|||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
#include "runtime/basicLock.hpp"
|
#include "runtime/basicLock.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
|
|
||||||
#if INCLUDE_ALL_GCS
|
#if INCLUDE_ALL_GCS
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
|
#include "interpreter/interp_masm.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
@ -36,6 +37,21 @@
|
|||||||
|
|
||||||
#define __ _masm->
|
#define __ _masm->
|
||||||
|
|
||||||
|
Interpreter::SignatureHandlerGenerator::SignatureHandlerGenerator(
|
||||||
|
const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
||||||
|
_masm = new MacroAssembler(buffer);
|
||||||
|
_abi_offset = 0;
|
||||||
|
_ireg = is_static() ? 2 : 1;
|
||||||
|
#ifdef __ABI_HARD__
|
||||||
|
#ifdef AARCH64
|
||||||
|
_freg = 0;
|
||||||
|
#else
|
||||||
|
_fp_slot = 0;
|
||||||
|
_single_fpr_slot = 0;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef SHARING_FAST_NATIVE_FINGERPRINTS
|
#ifdef SHARING_FAST_NATIVE_FINGERPRINTS
|
||||||
// mapping from SignatureIterator param to (common) type of parsing
|
// mapping from SignatureIterator param to (common) type of parsing
|
||||||
static const u1 shared_type[] = {
|
static const u1 shared_type[] = {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,8 +25,6 @@
|
|||||||
#ifndef CPU_ARM_VM_INTERPRETERRT_ARM_HPP
|
#ifndef CPU_ARM_VM_INTERPRETERRT_ARM_HPP
|
||||||
#define CPU_ARM_VM_INTERPRETERRT_ARM_HPP
|
#define CPU_ARM_VM_INTERPRETERRT_ARM_HPP
|
||||||
|
|
||||||
#include "memory/allocation.hpp"
|
|
||||||
|
|
||||||
// native method calls
|
// native method calls
|
||||||
|
|
||||||
class SignatureHandlerGenerator: public NativeSignatureIterator {
|
class SignatureHandlerGenerator: public NativeSignatureIterator {
|
||||||
@ -56,23 +54,10 @@ class SignatureHandlerGenerator: public NativeSignatureIterator {
|
|||||||
#endif
|
#endif
|
||||||
public:
|
public:
|
||||||
// Creation
|
// Creation
|
||||||
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
|
||||||
_masm = new MacroAssembler(buffer);
|
|
||||||
_abi_offset = 0;
|
|
||||||
_ireg = is_static() ? 2 : 1;
|
|
||||||
#ifdef __ABI_HARD__
|
|
||||||
#ifdef AARCH64
|
|
||||||
_freg = 0;
|
|
||||||
#else
|
|
||||||
_fp_slot = 0;
|
|
||||||
_single_fpr_slot = 0;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code generation
|
// Code generation
|
||||||
void generate(uint64_t fingerprint);
|
void generate(uint64_t fingerprint);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef AARCH64
|
#ifndef AARCH64
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,6 +27,7 @@
|
|||||||
#include "jvmci/jvmciCompilerToVM.hpp"
|
#include "jvmci/jvmciCompilerToVM.hpp"
|
||||||
#include "jvmci/jvmciJavaClasses.hpp"
|
#include "jvmci/jvmciJavaClasses.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_arm.inline.hpp"
|
#include "vmreg_arm.inline.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -34,6 +34,7 @@
|
|||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
|
|
||||||
#define __ _masm->
|
#define __ _masm->
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/stubRoutines.hpp"
|
#include "runtime/stubRoutines.hpp"
|
||||||
#include "runtime/synchronizer.hpp"
|
#include "runtime/synchronizer.hpp"
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "gc/shared/cardTableBarrierSet.hpp"
|
#include "gc/shared/cardTableBarrierSet.hpp"
|
||||||
#include "nativeInst_ppc.hpp"
|
#include "nativeInst_ppc.hpp"
|
||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.inline.hpp"
|
#include "runtime/safepointMechanism.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -425,4 +425,6 @@
|
|||||||
pc_return_offset = 0
|
pc_return_offset = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static jint interpreter_frame_expression_stack_direction() { return -1; }
|
||||||
|
|
||||||
#endif // CPU_PPC_VM_FRAME_PPC_HPP
|
#endif // CPU_PPC_VM_FRAME_PPC_HPP
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -179,10 +179,6 @@ inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
|||||||
return (intptr_t*)interpreter_frame_monitor_end() - 1;
|
return (intptr_t*)interpreter_frame_monitor_end() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline jint frame::interpreter_frame_expression_stack_direction() {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// top of expression stack
|
// top of expression stack
|
||||||
inline intptr_t* frame::interpreter_frame_tos_address() const {
|
inline intptr_t* frame::interpreter_frame_tos_address() const {
|
||||||
return ((intptr_t*) get_ijava_state()->esp) + Interpreter::stackElementWords;
|
return ((intptr_t*) get_ijava_state()->esp) + Interpreter::stackElementWords;
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include "interp_masm_ppc.hpp"
|
#include "interp_masm_ppc.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
#include "asm/assembler.inline.hpp"
|
#include "asm/assembler.inline.hpp"
|
||||||
|
#include "interpreter/interp_masm.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
@ -46,6 +47,12 @@
|
|||||||
|
|
||||||
// Implementation of SignatureHandlerGenerator
|
// Implementation of SignatureHandlerGenerator
|
||||||
|
|
||||||
|
InterpreterRuntime::SignatureHandlerGenerator::SignatureHandlerGenerator(
|
||||||
|
const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
||||||
|
_masm = new MacroAssembler(buffer);
|
||||||
|
_num_used_fp_arg_regs = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
||||||
Argument jni_arg(jni_offset());
|
Argument jni_arg(jni_offset());
|
||||||
Register r = jni_arg.is_register() ? jni_arg.as_register() : R0;
|
Register r = jni_arg.is_register() ? jni_arg.as_register() : R0;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -26,8 +26,8 @@
|
|||||||
#ifndef CPU_PPC_VM_INTERPRETERRT_PPC_HPP
|
#ifndef CPU_PPC_VM_INTERPRETERRT_PPC_HPP
|
||||||
#define CPU_PPC_VM_INTERPRETERRT_PPC_HPP
|
#define CPU_PPC_VM_INTERPRETERRT_PPC_HPP
|
||||||
|
|
||||||
#include "asm/macroAssembler.hpp"
|
// This is included in the middle of class Interpreter.
|
||||||
#include "memory/allocation.hpp"
|
// Do not include files here.
|
||||||
|
|
||||||
// native method calls
|
// native method calls
|
||||||
|
|
||||||
@ -45,10 +45,7 @@ class SignatureHandlerGenerator: public NativeSignatureIterator {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Creation
|
// Creation
|
||||||
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
|
||||||
_masm = new MacroAssembler(buffer);
|
|
||||||
_num_used_fp_arg_regs = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code generation
|
// Code generation
|
||||||
void generate(uint64_t fingerprint);
|
void generate(uint64_t fingerprint);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -26,6 +26,7 @@
|
|||||||
#include "jvmci/jvmciCompilerToVM.hpp"
|
#include "jvmci/jvmciCompilerToVM.hpp"
|
||||||
#include "jvmci/jvmciJavaClasses.hpp"
|
#include "jvmci/jvmciJavaClasses.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_ppc.inline.hpp"
|
#include "vmreg_ppc.inline.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2017 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2017 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -31,6 +31,7 @@
|
|||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "utilities/preserveException.hpp"
|
#include "utilities/preserveException.hpp"
|
||||||
|
|
||||||
#define __ _masm->
|
#define __ _masm->
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/stubRoutines.hpp"
|
#include "runtime/stubRoutines.hpp"
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "gc/shared/cardTableBarrierSet.hpp"
|
#include "gc/shared/cardTableBarrierSet.hpp"
|
||||||
#include "nativeInst_s390.hpp"
|
#include "nativeInst_s390.hpp"
|
||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.inline.hpp"
|
#include "runtime/safepointMechanism.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_s390.inline.hpp"
|
#include "vmreg_s390.inline.hpp"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -549,4 +549,6 @@
|
|||||||
pc_return_offset = 0,
|
pc_return_offset = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static jint interpreter_frame_expression_stack_direction() { return -1; }
|
||||||
|
|
||||||
#endif // CPU_S390_VM_FRAME_S390_HPP
|
#endif // CPU_S390_VM_FRAME_S390_HPP
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -175,10 +175,6 @@ inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
|||||||
return (intptr_t*)interpreter_frame_monitor_end() - 1;
|
return (intptr_t*)interpreter_frame_monitor_end() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline jint frame::interpreter_frame_expression_stack_direction() {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
|
inline intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
|
||||||
return &interpreter_frame_tos_address()[offset];
|
return &interpreter_frame_tos_address()[offset];
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016, 2017 SAP SE. All rights reserved.
|
* Copyright (c) 2016, 2017 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -36,6 +36,7 @@
|
|||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
#include "runtime/basicLock.hpp"
|
#include "runtime/basicLock.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
#include "asm/macroAssembler.inline.hpp"
|
#include "asm/macroAssembler.inline.hpp"
|
||||||
|
#include "interpreter/interp_masm.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
@ -64,6 +65,11 @@ static int sp_c_fp_arg_offset(int arg_nr, int fp_arg_nr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Implementation of SignatureHandlerGenerator
|
// Implementation of SignatureHandlerGenerator
|
||||||
|
InterpreterRuntime::SignatureHandlerGenerator::SignatureHandlerGenerator(
|
||||||
|
const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
||||||
|
_masm = new MacroAssembler(buffer);
|
||||||
|
_fp_arg_nr = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
||||||
int int_arg_nr = jni_offset() - _fp_arg_nr;
|
int int_arg_nr = jni_offset() - _fp_arg_nr;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -26,7 +26,8 @@
|
|||||||
#ifndef CPU_S390_VM_INTERPRETERRT_S390_HPP
|
#ifndef CPU_S390_VM_INTERPRETERRT_S390_HPP
|
||||||
#define CPU_S390_VM_INTERPRETERRT_S390_HPP
|
#define CPU_S390_VM_INTERPRETERRT_S390_HPP
|
||||||
|
|
||||||
#include "memory/allocation.hpp"
|
// This is included in the middle of class Interpreter.
|
||||||
|
// Do not include files here.
|
||||||
|
|
||||||
static int binary_search(int key, LookupswitchPair* array, int n);
|
static int binary_search(int key, LookupswitchPair* array, int n);
|
||||||
|
|
||||||
@ -51,10 +52,7 @@ class SignatureHandlerGenerator: public NativeSignatureIterator {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// creation
|
// creation
|
||||||
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
|
||||||
_masm = new MacroAssembler(buffer);
|
|
||||||
_fp_arg_nr = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// code generation
|
// code generation
|
||||||
void generate(uint64_t fingerprint);
|
void generate(uint64_t fingerprint);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -34,6 +34,7 @@
|
|||||||
#include "jvmci/jvmciCompilerToVM.hpp"
|
#include "jvmci/jvmciCompilerToVM.hpp"
|
||||||
#include "jvmci/jvmciJavaClasses.hpp"
|
#include "jvmci/jvmciJavaClasses.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_s390.inline.hpp"
|
#include "vmreg_s390.inline.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016, 2017, SAP SE. All rights reserved.
|
* Copyright (c) 2016, 2017, SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -31,6 +31,7 @@
|
|||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "utilities/preserveException.hpp"
|
#include "utilities/preserveException.hpp"
|
||||||
|
|
||||||
#ifdef PRODUCT
|
#ifdef PRODUCT
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/stubRoutines.hpp"
|
#include "runtime/stubRoutines.hpp"
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "gc/shared/collectedHeap.hpp"
|
#include "gc/shared/collectedHeap.hpp"
|
||||||
#include "nativeInst_sparc.hpp"
|
#include "nativeInst_sparc.hpp"
|
||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/interfaceSupport.inline.hpp"
|
#include "runtime/interfaceSupport.inline.hpp"
|
||||||
#include "runtime/jniHandles.inline.hpp"
|
#include "runtime/jniHandles.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.inline.hpp"
|
#include "runtime/safepointMechanism.inline.hpp"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -240,4 +240,6 @@
|
|||||||
void interpreter_frame_set_monitors(BasicObjectLock* monitors);
|
void interpreter_frame_set_monitors(BasicObjectLock* monitors);
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
static jint interpreter_frame_expression_stack_direction() { return -1; }
|
||||||
|
|
||||||
#endif // CPU_SPARC_VM_FRAME_SPARC_HPP
|
#endif // CPU_SPARC_VM_FRAME_SPARC_HPP
|
||||||
|
@ -99,8 +99,6 @@ inline intptr_t* frame::interpreter_frame_mdp_addr() const {
|
|||||||
return (intptr_t*) sp_addr_at( ImethodDataPtr->sp_offset_in_saved_window());
|
return (intptr_t*) sp_addr_at( ImethodDataPtr->sp_offset_in_saved_window());
|
||||||
}
|
}
|
||||||
|
|
||||||
inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
|
|
||||||
|
|
||||||
// bottom(base) of the expression stack (highest address)
|
// bottom(base) of the expression stack (highest address)
|
||||||
inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
||||||
return (intptr_t*)interpreter_frame_monitors() - 1;
|
return (intptr_t*)interpreter_frame_monitors() - 1;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -36,6 +36,7 @@
|
|||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
#include "runtime/basicLock.hpp"
|
#include "runtime/basicLock.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
#include "asm/macroAssembler.inline.hpp"
|
#include "asm/macroAssembler.inline.hpp"
|
||||||
|
#include "interpreter/interp_masm.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
@ -40,6 +41,10 @@
|
|||||||
|
|
||||||
|
|
||||||
// Implementation of SignatureHandlerGenerator
|
// Implementation of SignatureHandlerGenerator
|
||||||
|
InterpreterRuntime::SignatureHandlerGenerator::SignatureHandlerGenerator(
|
||||||
|
const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
||||||
|
_masm = new MacroAssembler(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
void InterpreterRuntime::SignatureHandlerGenerator::pass_word(int size_of_arg, int offset_in_arg) {
|
void InterpreterRuntime::SignatureHandlerGenerator::pass_word(int size_of_arg, int offset_in_arg) {
|
||||||
Argument jni_arg(jni_offset() + offset_in_arg, false);
|
Argument jni_arg(jni_offset() + offset_in_arg, false);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,7 +25,9 @@
|
|||||||
#ifndef CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
|
#ifndef CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
|
||||||
#define CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
|
#define CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
|
||||||
|
|
||||||
#include "memory/allocation.hpp"
|
// This is included in the middle of class Interpreter.
|
||||||
|
// Do not include files here.
|
||||||
|
|
||||||
|
|
||||||
static int binary_search(int key, LookupswitchPair* array, int n);
|
static int binary_search(int key, LookupswitchPair* array, int n);
|
||||||
|
|
||||||
@ -52,9 +54,7 @@ class SignatureHandlerGenerator: public NativeSignatureIterator {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Creation
|
// Creation
|
||||||
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
|
||||||
_masm = new MacroAssembler(buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code generation
|
// Code generation
|
||||||
void generate( uint64_t fingerprint );
|
void generate( uint64_t fingerprint );
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -26,6 +26,7 @@
|
|||||||
#include "jvmci/jvmciCompilerToVM.hpp"
|
#include "jvmci/jvmciCompilerToVM.hpp"
|
||||||
#include "jvmci/jvmciJavaClasses.hpp"
|
#include "jvmci/jvmciJavaClasses.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "utilities/align.hpp"
|
#include "utilities/align.hpp"
|
||||||
#include "vmreg_sparc.inline.hpp"
|
#include "vmreg_sparc.inline.hpp"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -31,6 +31,7 @@
|
|||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "utilities/preserveException.hpp"
|
#include "utilities/preserveException.hpp"
|
||||||
|
|
||||||
#define __ _masm->
|
#define __ _masm->
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/stubRoutines.hpp"
|
#include "runtime/stubRoutines.hpp"
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include "gc/shared/collectedHeap.hpp"
|
#include "gc/shared/collectedHeap.hpp"
|
||||||
#include "nativeInst_x86.hpp"
|
#include "nativeInst_x86.hpp"
|
||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "vmreg_x86.inline.hpp"
|
#include "vmreg_x86.inline.hpp"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -154,4 +154,6 @@
|
|||||||
// deoptimization support
|
// deoptimization support
|
||||||
void interpreter_frame_set_last_sp(intptr_t* sp);
|
void interpreter_frame_set_last_sp(intptr_t* sp);
|
||||||
|
|
||||||
|
static jint interpreter_frame_expression_stack_direction() { return -1; }
|
||||||
|
|
||||||
#endif // CPU_X86_VM_FRAME_X86_HPP
|
#endif // CPU_X86_VM_FRAME_X86_HPP
|
||||||
|
@ -223,10 +223,6 @@ inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
|||||||
return monitor_end-1;
|
return monitor_end-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
|
|
||||||
|
|
||||||
|
|
||||||
// Entry frames
|
// Entry frames
|
||||||
|
|
||||||
inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const {
|
inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const {
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
#include "runtime/basicLock.hpp"
|
#include "runtime/basicLock.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,7 +25,8 @@
|
|||||||
#ifndef CPU_X86_VM_INTERPRETERRT_X86_HPP
|
#ifndef CPU_X86_VM_INTERPRETERRT_X86_HPP
|
||||||
#define CPU_X86_VM_INTERPRETERRT_X86_HPP
|
#define CPU_X86_VM_INTERPRETERRT_X86_HPP
|
||||||
|
|
||||||
#include "memory/allocation.hpp"
|
// This is included in the middle of class Interpreter.
|
||||||
|
// Do not include files here.
|
||||||
|
|
||||||
// native method calls
|
// native method calls
|
||||||
|
|
||||||
@ -55,19 +56,7 @@ class SignatureHandlerGenerator: public NativeSignatureIterator {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Creation
|
// Creation
|
||||||
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) : NativeSignatureIterator(method) {
|
SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
|
||||||
_masm = new MacroAssembler(buffer);
|
|
||||||
#ifdef AMD64
|
|
||||||
#ifdef _WIN64
|
|
||||||
_num_args = (method->is_static() ? 1 : 0);
|
|
||||||
_stack_offset = (Argument::n_int_register_parameters_c+1)* wordSize; // don't overwrite return address
|
|
||||||
#else
|
|
||||||
_num_int_args = (method->is_static() ? 1 : 0);
|
|
||||||
_num_fp_args = 0;
|
|
||||||
_stack_offset = wordSize; // don't overwrite return address
|
|
||||||
#endif // _WIN64
|
|
||||||
#endif // AMD64
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code generation
|
// Code generation
|
||||||
void generate(uint64_t fingerprint);
|
void generate(uint64_t fingerprint);
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
|
#include "interpreter/interp_masm.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
@ -39,6 +40,21 @@
|
|||||||
|
|
||||||
|
|
||||||
// Implementation of SignatureHandlerGenerator
|
// Implementation of SignatureHandlerGenerator
|
||||||
|
InterpreterRuntime::SignatureHandlerGenerator::SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) :
|
||||||
|
NativeSignatureIterator(method) {
|
||||||
|
_masm = new MacroAssembler(buffer);
|
||||||
|
#ifdef AMD64
|
||||||
|
#ifdef _WIN64
|
||||||
|
_num_args = (method->is_static() ? 1 : 0);
|
||||||
|
_stack_offset = (Argument::n_int_register_parameters_c+1)* wordSize; // don't overwrite return address
|
||||||
|
#else
|
||||||
|
_num_int_args = (method->is_static() ? 1 : 0);
|
||||||
|
_num_fp_args = 0;
|
||||||
|
_stack_offset = wordSize; // don't overwrite return address
|
||||||
|
#endif // _WIN64
|
||||||
|
#endif // AMD64
|
||||||
|
}
|
||||||
|
|
||||||
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
void InterpreterRuntime::SignatureHandlerGenerator::pass_int() {
|
||||||
move(offset(), jni_offset() + 1);
|
move(offset(), jni_offset() + 1);
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
|
#include "interpreter/interp_masm.hpp"
|
||||||
#include "interpreter/interpreter.hpp"
|
#include "interpreter/interpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
@ -38,6 +39,21 @@
|
|||||||
|
|
||||||
// Implementation of SignatureHandlerGenerator
|
// Implementation of SignatureHandlerGenerator
|
||||||
|
|
||||||
|
InterpreterRuntime::SignatureHandlerGenerator::SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer) :
|
||||||
|
NativeSignatureIterator(method) {
|
||||||
|
_masm = new MacroAssembler(buffer);
|
||||||
|
#ifdef AMD64
|
||||||
|
#ifdef _WIN64
|
||||||
|
_num_args = (method->is_static() ? 1 : 0);
|
||||||
|
_stack_offset = (Argument::n_int_register_parameters_c+1)* wordSize; // don't overwrite return address
|
||||||
|
#else
|
||||||
|
_num_int_args = (method->is_static() ? 1 : 0);
|
||||||
|
_num_fp_args = 0;
|
||||||
|
_stack_offset = wordSize; // don't overwrite return address
|
||||||
|
#endif // _WIN64
|
||||||
|
#endif // AMD64
|
||||||
|
}
|
||||||
|
|
||||||
Register InterpreterRuntime::SignatureHandlerGenerator::from() { return r14; }
|
Register InterpreterRuntime::SignatureHandlerGenerator::from() { return r14; }
|
||||||
Register InterpreterRuntime::SignatureHandlerGenerator::to() { return rsp; }
|
Register InterpreterRuntime::SignatureHandlerGenerator::to() { return rsp; }
|
||||||
Register InterpreterRuntime::SignatureHandlerGenerator::temp() { return rscratch1; }
|
Register InterpreterRuntime::SignatureHandlerGenerator::temp() { return rscratch1; }
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -24,6 +24,7 @@
|
|||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
#include "compiler/disassembler.hpp"
|
#include "compiler/disassembler.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/javaCalls.hpp"
|
#include "runtime/javaCalls.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "jvmci/jvmciEnv.hpp"
|
#include "jvmci/jvmciEnv.hpp"
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "utilities/preserveException.hpp"
|
#include "utilities/preserveException.hpp"
|
||||||
|
|
||||||
#define __ _masm->
|
#define __ _masm->
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/safepointMechanism.hpp"
|
#include "runtime/safepointMechanism.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/stubRoutines.hpp"
|
#include "runtime/stubRoutines.hpp"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -75,4 +75,6 @@
|
|||||||
char* buf,
|
char* buf,
|
||||||
int buflen) const;
|
int buflen) const;
|
||||||
|
|
||||||
|
static jint interpreter_frame_expression_stack_direction() { return -1; }
|
||||||
|
|
||||||
#endif // CPU_ZERO_VM_FRAME_ZERO_HPP
|
#endif // CPU_ZERO_VM_FRAME_ZERO_HPP
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -130,10 +130,6 @@ inline intptr_t* frame::interpreter_frame_expression_stack() const {
|
|||||||
return monitor_end - 1;
|
return monitor_end - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline jint frame::interpreter_frame_expression_stack_direction() {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return a unique id for this frame. The id must have a value where
|
// Return a unique id for this frame. The id must have a value where
|
||||||
// we can distinguish identity and younger/older relationship. NULL
|
// we can distinguish identity and younger/older relationship. NULL
|
||||||
// represents an invalid (incomparable) frame.
|
// represents an invalid (incomparable) frame.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008 Red Hat, Inc.
|
* Copyright 2007, 2008 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -26,7 +26,9 @@
|
|||||||
#ifndef CPU_ZERO_VM_INTERPRETERRT_ZERO_HPP
|
#ifndef CPU_ZERO_VM_INTERPRETERRT_ZERO_HPP
|
||||||
#define CPU_ZERO_VM_INTERPRETERRT_ZERO_HPP
|
#define CPU_ZERO_VM_INTERPRETERRT_ZERO_HPP
|
||||||
|
|
||||||
#include "memory/allocation.hpp"
|
// This is included in the middle of class Interpreter.
|
||||||
|
// Do not include files here.
|
||||||
|
|
||||||
|
|
||||||
class SignatureHandler {
|
class SignatureHandler {
|
||||||
public:
|
public:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2009, 2010, 2011 Red Hat, Inc.
|
* Copyright 2009, 2010, 2011 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -30,6 +30,7 @@
|
|||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/method.inline.hpp"
|
#include "oops/method.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
|
|
||||||
void MethodHandles::invoke_target(Method* method, TRAPS) {
|
void MethodHandles::invoke_target(Method* method, TRAPS) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2010 Red Hat, Inc.
|
* Copyright 2010 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -24,10 +24,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
|
#include "interpreter/bytecodeInterpreter.hpp"
|
||||||
#include "interpreter/interpreterRuntime.hpp"
|
#include "interpreter/interpreterRuntime.hpp"
|
||||||
#include "runtime/thread.hpp"
|
#include "runtime/thread.hpp"
|
||||||
#include "stack_zero.hpp"
|
#include "stack_zero.hpp"
|
||||||
#include "stack_zero.inline.hpp"
|
#include "stack_zero.inline.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "utilities/align.hpp"
|
#include "utilities/align.hpp"
|
||||||
|
|
||||||
// Inlined causes circular inclusion with thread.hpp
|
// Inlined causes circular inclusion with thread.hpp
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -27,6 +27,19 @@
|
|||||||
#include "runtime/frame.hpp"
|
#include "runtime/frame.hpp"
|
||||||
#include "runtime/thread.hpp"
|
#include "runtime/thread.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
|
||||||
|
intptr_t* sp = last_Java_sp();
|
||||||
|
address pc = _anchor.last_Java_pc();
|
||||||
|
|
||||||
|
// Last_Java_pc ist not set, if we come here from compiled code.
|
||||||
|
if (pc == NULL)
|
||||||
|
pc = (address) *(sp + 2);
|
||||||
|
|
||||||
|
return frame(sp, pc);
|
||||||
|
}
|
||||||
|
|
||||||
// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Aix/PPC.
|
// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Aix/PPC.
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
|
||||||
Unimplemented();
|
Unimplemented();
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -32,18 +32,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The `last' frame is the youngest Java frame on the thread's stack.
|
// The `last' frame is the youngest Java frame on the thread's stack.
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
|
|
||||||
intptr_t* sp = last_Java_sp();
|
|
||||||
address pc = _anchor.last_Java_pc();
|
|
||||||
|
|
||||||
// Last_Java_pc ist not set, if we come here from compiled code.
|
|
||||||
if (pc == NULL)
|
|
||||||
pc = (address) *(sp + 2);
|
|
||||||
|
|
||||||
return frame(sp, pc);
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void set_base_of_stack_pointer(intptr_t* base_sp) {}
|
void set_base_of_stack_pointer(intptr_t* base_sp) {}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,6 +27,12 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
||||||
|
}
|
||||||
|
|
||||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
||||||
// currently interrupted by SIGPROF
|
// currently interrupted by SIGPROF
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -30,11 +30,7 @@
|
|||||||
_anchor.clear();
|
_anchor.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Mutators are highly dangerous....
|
// Mutators are highly dangerous....
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2009, 2010 Red Hat, Inc.
|
* Copyright 2009, 2010 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -27,6 +27,11 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
return frame(last_Java_fp(), last_Java_sp());
|
||||||
|
}
|
||||||
|
|
||||||
void JavaThread::cache_global_variables() {
|
void JavaThread::cache_global_variables() {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -86,10 +86,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
return frame(last_Java_fp(), last_Java_sp());
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static ByteSize last_Java_fp_offset() {
|
static ByteSize last_Java_fp_offset() {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -28,6 +28,11 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
||||||
|
}
|
||||||
|
|
||||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
||||||
// currently interrupted by SIGPROF
|
// currently interrupted by SIGPROF
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -41,10 +41,7 @@
|
|||||||
_anchor.clear();
|
_anchor.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Mutators are highly dangerous....
|
// Mutators are highly dangerous....
|
||||||
|
@ -30,6 +30,21 @@
|
|||||||
#include "memory/metaspaceShared.hpp"
|
#include "memory/metaspaceShared.hpp"
|
||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
#ifdef AARCH64
|
||||||
|
assert (_anchor.last_Java_pc() != NULL, "pc should be stored");
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
||||||
|
#else
|
||||||
|
if (_anchor.last_Java_pc() != NULL) {
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
||||||
|
} else {
|
||||||
|
// This will pick up pc from sp
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp());
|
||||||
|
}
|
||||||
|
#endif // AARCH64
|
||||||
|
}
|
||||||
|
|
||||||
void JavaThread::cache_global_variables() {
|
void JavaThread::cache_global_variables() {
|
||||||
BarrierSet* bs = Universe::heap()->barrier_set();
|
BarrierSet* bs = Universe::heap()->barrier_set();
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -37,20 +37,7 @@
|
|||||||
_in_top_frame_unsafe_section = NULL;
|
_in_top_frame_unsafe_section = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
#ifdef AARCH64
|
|
||||||
assert (_anchor.last_Java_pc() != NULL, "pc should be stored");
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
|
||||||
#else
|
|
||||||
if (_anchor.last_Java_pc() != NULL) {
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
|
||||||
} else {
|
|
||||||
// This will pick up pc from sp
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp());
|
|
||||||
}
|
|
||||||
#endif // AARCH64
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
intptr_t* last_Java_fp() { return _anchor.last_Java_fp(); }
|
intptr_t* last_Java_fp() { return _anchor.last_Java_fp(); }
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -24,9 +24,23 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
#include "runtime/frame.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.hpp"
|
#include "runtime/thread.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
|
||||||
|
intptr_t* sp = last_Java_sp();
|
||||||
|
address pc = _anchor.last_Java_pc();
|
||||||
|
|
||||||
|
// Last_Java_pc ist not set, if we come here from compiled code.
|
||||||
|
if (pc == NULL) {
|
||||||
|
pc = (address) *(sp + 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return frame(sp, pc);
|
||||||
|
}
|
||||||
|
|
||||||
// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/PPC.
|
// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/PPC.
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
|
||||||
Unimplemented();
|
Unimplemented();
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -33,19 +33,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The `last' frame is the youngest Java frame on the thread's stack.
|
// The `last' frame is the youngest Java frame on the thread's stack.
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
|
|
||||||
intptr_t* sp = last_Java_sp();
|
|
||||||
address pc = _anchor.last_Java_pc();
|
|
||||||
|
|
||||||
// Last_Java_pc ist not set, if we come here from compiled code.
|
|
||||||
if (pc == NULL) {
|
|
||||||
pc = (address) *(sp + 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
return frame(sp, pc);
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -24,9 +24,23 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
#include "runtime/frame.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.hpp"
|
#include "runtime/thread.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
|
||||||
|
intptr_t* sp = last_Java_sp();
|
||||||
|
address pc = _anchor.last_Java_pc();
|
||||||
|
|
||||||
|
// Last_Java_pc ist not set if we come here from compiled code.
|
||||||
|
if (pc == NULL) {
|
||||||
|
pc = (address) *(sp + 14);
|
||||||
|
}
|
||||||
|
|
||||||
|
return frame(sp, pc);
|
||||||
|
}
|
||||||
|
|
||||||
// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/S390x.
|
// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/S390x.
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
|
||||||
Unimplemented();
|
Unimplemented();
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -33,19 +33,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The `last' frame is the youngest Java frame on the thread's stack.
|
// The `last' frame is the youngest Java frame on the thread's stack.
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
|
|
||||||
intptr_t* sp = last_Java_sp();
|
|
||||||
address pc = _anchor.last_Java_pc();
|
|
||||||
|
|
||||||
// Last_Java_pc ist not set if we come here from compiled code.
|
|
||||||
if (pc == NULL) {
|
|
||||||
pc = (address) *(sp + 14);
|
|
||||||
}
|
|
||||||
|
|
||||||
return frame(sp, pc);
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void set_base_of_stack_pointer(intptr_t* base_sp) {}
|
void set_base_of_stack_pointer(intptr_t* base_sp) {}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,6 +27,14 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
assert(_anchor.walkable(), "thread has not dumped its register windows yet");
|
||||||
|
|
||||||
|
assert(_anchor.last_Java_pc() != NULL, "Ack no pc!");
|
||||||
|
return frame(last_Java_sp(), frame::unpatchable, _anchor.last_Java_pc());
|
||||||
|
}
|
||||||
|
|
||||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
||||||
// currently interrupted by SIGPROF
|
// currently interrupted by SIGPROF
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -32,13 +32,7 @@ private:
|
|||||||
_base_of_stack_pointer = NULL;
|
_base_of_stack_pointer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
assert(_anchor.walkable(), "thread has not dumped its register windows yet");
|
|
||||||
|
|
||||||
assert(_anchor.last_Java_pc() != NULL, "Ack no pc!");
|
|
||||||
return frame(last_Java_sp(), frame::unpatchable, _anchor.last_Java_pc());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sometimes the trap handler needs to record both PC and NPC.
|
// Sometimes the trap handler needs to record both PC and NPC.
|
||||||
// This is a SPARC-specific companion to Thread::set_saved_exception_pc.
|
// This is a SPARC-specific companion to Thread::set_saved_exception_pc.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,6 +27,12 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
||||||
|
}
|
||||||
|
|
||||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
||||||
// currently interrupted by SIGPROF
|
// currently interrupted by SIGPROF
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -30,11 +30,7 @@
|
|||||||
_anchor.clear();
|
_anchor.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Mutators are highly dangerous....
|
// Mutators are highly dangerous....
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2009, 2010 Red Hat, Inc.
|
* Copyright 2009, 2010 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -27,6 +27,11 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
return frame(last_Java_fp(), last_Java_sp());
|
||||||
|
}
|
||||||
|
|
||||||
void JavaThread::cache_global_variables() {
|
void JavaThread::cache_global_variables() {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -86,10 +86,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
return frame(last_Java_fp(), last_Java_sp());
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static ByteSize last_Java_fp_offset() {
|
static ByteSize last_Java_fp_offset() {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,6 +27,14 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
assert(_anchor.walkable(), "thread has not dumped its register windows yet");
|
||||||
|
|
||||||
|
assert(_anchor.last_Java_pc() != NULL, "Ack no pc!");
|
||||||
|
return frame(last_Java_sp(), frame::unpatchable, _anchor.last_Java_pc());
|
||||||
|
}
|
||||||
|
|
||||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
||||||
// currently interrupted by SIGPROF
|
// currently interrupted by SIGPROF
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -31,13 +31,7 @@ private:
|
|||||||
_base_of_stack_pointer = NULL;
|
_base_of_stack_pointer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
assert(_anchor.walkable(), "thread has not dumped its register windows yet");
|
|
||||||
|
|
||||||
assert(_anchor.last_Java_pc() != NULL, "Ack no pc!");
|
|
||||||
return frame(last_Java_sp(), frame::unpatchable, _anchor.last_Java_pc());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sometimes the trap handler needs to record both PC and NPC.
|
// Sometimes the trap handler needs to record both PC and NPC.
|
||||||
// This is a SPARC-specific companion to Thread::set_saved_exception_pc.
|
// This is a SPARC-specific companion to Thread::set_saved_exception_pc.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,6 +27,12 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
||||||
|
}
|
||||||
|
|
||||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
||||||
// currently interrupted by SIGPROF
|
// currently interrupted by SIGPROF
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -28,11 +28,7 @@
|
|||||||
private:
|
private:
|
||||||
void pd_initialize() { _anchor.clear(); }
|
void pd_initialize() { _anchor.clear(); }
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Mutators are highly dangerous....
|
// Mutators are highly dangerous....
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,6 +27,12 @@
|
|||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
|
frame JavaThread::pd_last_frame() {
|
||||||
|
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
||||||
|
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
||||||
|
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
||||||
|
}
|
||||||
|
|
||||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
// For Forte Analyzer AsyncGetCallTrace profiling support - thread is
|
||||||
// currently interrupted by SIGPROF
|
// currently interrupted by SIGPROF
|
||||||
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -30,11 +30,7 @@
|
|||||||
_anchor.clear();
|
_anchor.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pd_last_frame() {
|
frame pd_last_frame();
|
||||||
assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
|
|
||||||
vmassert(_anchor.last_Java_pc() != NULL, "not walkable");
|
|
||||||
return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Mutators are highly dangerous....
|
// Mutators are highly dangerous....
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "jvmci/compilerRuntime.hpp"
|
#include "jvmci/compilerRuntime.hpp"
|
||||||
#include "jvmci/jvmciRuntime.hpp"
|
#include "jvmci/jvmciRuntime.hpp"
|
||||||
#include "oops/method.inline.hpp"
|
#include "oops/method.inline.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
@ -70,6 +71,10 @@ static void metadata_oops_do(Metadata** metadata_begin, Metadata **metadata_end,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
address* AOTCompiledMethod::orig_pc_addr(const frame* fr) {
|
||||||
|
return (address*) ((address)fr->unextended_sp() + _meta->orig_pc_offset());
|
||||||
|
}
|
||||||
|
|
||||||
bool AOTCompiledMethod::do_unloading_oops(address low_boundary, BoolObjectClosure* is_alive, bool unloading_occurred) {
|
bool AOTCompiledMethod::do_unloading_oops(address low_boundary, BoolObjectClosure* is_alive, bool unloading_occurred) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -117,7 +117,7 @@ private:
|
|||||||
const int _method_index;
|
const int _method_index;
|
||||||
oop _oop; // method()->method_holder()->klass_holder()
|
oop _oop; // method()->method_holder()->klass_holder()
|
||||||
|
|
||||||
address* orig_pc_addr(const frame* fr) { return (address*) ((address)fr->unextended_sp() + _meta->orig_pc_offset()); }
|
address* orig_pc_addr(const frame* fr);
|
||||||
bool make_not_entrant_helper(int new_state);
|
bool make_not_entrant_helper(int new_state);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -25,7 +25,7 @@
|
|||||||
#ifndef SHARE_VM_C1_C1_FRAMEMAP_HPP
|
#ifndef SHARE_VM_C1_C1_FRAMEMAP_HPP
|
||||||
#define SHARE_VM_C1_C1_FRAMEMAP_HPP
|
#define SHARE_VM_C1_C1_FRAMEMAP_HPP
|
||||||
|
|
||||||
#include "asm/assembler.hpp"
|
#include "asm/macroAssembler.hpp"
|
||||||
#include "c1/c1_Defs.hpp"
|
#include "c1/c1_Defs.hpp"
|
||||||
#include "c1/c1_LIR.hpp"
|
#include "c1/c1_LIR.hpp"
|
||||||
#include "code/vmreg.hpp"
|
#include "code/vmreg.hpp"
|
||||||
|
@ -54,10 +54,11 @@
|
|||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
#include "runtime/compilationPolicy.hpp"
|
#include "runtime/compilationPolicy.hpp"
|
||||||
#include "runtime/interfaceSupport.inline.hpp"
|
#include "runtime/interfaceSupport.inline.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/javaCalls.hpp"
|
#include "runtime/javaCalls.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "runtime/threadCritical.hpp"
|
#include "runtime/threadCritical.hpp"
|
||||||
#include "runtime/vframe.hpp"
|
#include "runtime/vframe.inline.hpp"
|
||||||
#include "runtime/vframeArray.hpp"
|
#include "runtime/vframeArray.hpp"
|
||||||
#include "runtime/vm_version.hpp"
|
#include "runtime/vm_version.hpp"
|
||||||
#include "utilities/copy.hpp"
|
#include "utilities/copy.hpp"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -32,6 +32,7 @@
|
|||||||
#include "code/dependencies.hpp"
|
#include "code/dependencies.hpp"
|
||||||
#include "code/exceptionHandlerTable.hpp"
|
#include "code/exceptionHandlerTable.hpp"
|
||||||
#include "compiler/oopMap.hpp"
|
#include "compiler/oopMap.hpp"
|
||||||
|
#include "oops/methodData.hpp"
|
||||||
#include "runtime/thread.hpp"
|
#include "runtime/thread.hpp"
|
||||||
|
|
||||||
class CompileTask;
|
class CompileTask;
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
#include "oops/symbol.hpp"
|
#include "oops/symbol.hpp"
|
||||||
#include "prims/jvmtiExport.hpp"
|
#include "prims/jvmtiExport.hpp"
|
||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/javaCalls.hpp"
|
#include "runtime/javaCalls.hpp"
|
||||||
#include "runtime/perfData.hpp"
|
#include "runtime/perfData.hpp"
|
||||||
#include "runtime/reflection.hpp"
|
#include "runtime/reflection.hpp"
|
||||||
@ -770,6 +771,13 @@ void ClassFileParser::parse_constant_pool(const ClassFileStream* const stream,
|
|||||||
} // end of for
|
} // end of for
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Handle ClassFileParser::clear_cp_patch_at(int index) {
|
||||||
|
Handle patch = cp_patch_at(index);
|
||||||
|
_cp_patches->at_put(index, Handle());
|
||||||
|
assert(!has_cp_patch_at(index), "");
|
||||||
|
return patch;
|
||||||
|
}
|
||||||
|
|
||||||
void ClassFileParser::patch_class(ConstantPool* cp, int class_index, Klass* k, Symbol* name) {
|
void ClassFileParser::patch_class(ConstantPool* cp, int class_index, Klass* k, Symbol* name) {
|
||||||
int name_index = _orig_cp_size + _num_patched_klasses;
|
int name_index = _orig_cp_size + _num_patched_klasses;
|
||||||
int resolved_klass_index = _first_patched_klass_resolved_index + _num_patched_klasses;
|
int resolved_klass_index = _first_patched_klass_resolved_index + _num_patched_klasses;
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define SHARE_VM_CLASSFILE_CLASSFILEPARSER_HPP
|
#define SHARE_VM_CLASSFILE_CLASSFILEPARSER_HPP
|
||||||
|
|
||||||
#include "memory/referenceType.hpp"
|
#include "memory/referenceType.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "oops/annotations.hpp"
|
||||||
#include "oops/constantPool.hpp"
|
#include "oops/constantPool.hpp"
|
||||||
#include "oops/typeArrayOop.hpp"
|
#include "oops/typeArrayOop.hpp"
|
||||||
#include "utilities/accessFlags.hpp"
|
#include "utilities/accessFlags.hpp"
|
||||||
@ -434,12 +434,7 @@ class ClassFileParser {
|
|||||||
return _cp_patches->at(index);
|
return _cp_patches->at(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle clear_cp_patch_at(int index) {
|
Handle clear_cp_patch_at(int index);
|
||||||
Handle patch = cp_patch_at(index);
|
|
||||||
_cp_patches->at_put(index, Handle());
|
|
||||||
assert(!has_cp_patch_at(index), "");
|
|
||||||
return patch;
|
|
||||||
}
|
|
||||||
|
|
||||||
void patch_class(ConstantPool* cp, int class_index, Klass* k, Symbol* name);
|
void patch_class(ConstantPool* cp, int class_index, Klass* k, Symbol* name);
|
||||||
void patch_constant_pool(ConstantPool* cp,
|
void patch_constant_pool(ConstantPool* cp,
|
||||||
@ -530,7 +525,7 @@ class ClassFileParser {
|
|||||||
const GrowableArray<Handle>* cp_patches() const { return _cp_patches; }
|
const GrowableArray<Handle>* cp_patches() const { return _cp_patches; }
|
||||||
ClassLoaderData* loader_data() const { return _loader_data; }
|
ClassLoaderData* loader_data() const { return _loader_data; }
|
||||||
const Symbol* class_name() const { return _class_name; }
|
const Symbol* class_name() const { return _class_name; }
|
||||||
const Klass* super_klass() const { return _super_klass; }
|
const InstanceKlass* super_klass() const { return _super_klass; }
|
||||||
|
|
||||||
ReferenceType reference_type() const { return _rt; }
|
ReferenceType reference_type() const { return _rt; }
|
||||||
AccessFlags access_flags() const { return _access_flags; }
|
AccessFlags access_flags() const { return _access_flags; }
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -31,6 +31,8 @@
|
|||||||
#include "classfile/symbolTable.hpp"
|
#include "classfile/symbolTable.hpp"
|
||||||
#include "classfile/systemDictionary.hpp"
|
#include "classfile/systemDictionary.hpp"
|
||||||
#include "classfile/systemDictionaryShared.hpp"
|
#include "classfile/systemDictionaryShared.hpp"
|
||||||
|
#include "logging/log.hpp"
|
||||||
|
#include "logging/logTag.hpp"
|
||||||
#include "memory/metaspaceShared.hpp"
|
#include "memory/metaspaceShared.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "runtime/fieldType.hpp"
|
#include "runtime/fieldType.hpp"
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
#include "oops/typeArrayOop.inline.hpp"
|
#include "oops/typeArrayOop.inline.hpp"
|
||||||
#include "prims/resolvedMethodTable.hpp"
|
#include "prims/resolvedMethodTable.hpp"
|
||||||
#include "runtime/fieldDescriptor.hpp"
|
#include "runtime/fieldDescriptor.hpp"
|
||||||
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/interfaceSupport.inline.hpp"
|
#include "runtime/interfaceSupport.inline.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
@ -57,7 +58,7 @@
|
|||||||
#include "runtime/jniHandles.inline.hpp"
|
#include "runtime/jniHandles.inline.hpp"
|
||||||
#include "runtime/safepoint.hpp"
|
#include "runtime/safepoint.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
#include "runtime/vframe.hpp"
|
#include "runtime/vframe.inline.hpp"
|
||||||
#include "utilities/align.hpp"
|
#include "utilities/align.hpp"
|
||||||
#include "utilities/preserveException.hpp"
|
#include "utilities/preserveException.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -34,6 +34,7 @@
|
|||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "prims/jvmtiEnvBase.hpp"
|
#include "prims/jvmtiEnvBase.hpp"
|
||||||
#include "prims/jvmtiRedefineClasses.hpp"
|
#include "prims/jvmtiRedefineClasses.hpp"
|
||||||
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "trace/traceMacros.hpp"
|
#include "trace/traceMacros.hpp"
|
||||||
|
|
||||||
// called during initial loading of a shared class
|
// called during initial loading of a shared class
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -38,7 +38,7 @@
|
|||||||
#include "oops/instanceKlass.hpp"
|
#include "oops/instanceKlass.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.inline.hpp"
|
||||||
|
|
||||||
class ManifestStream: public ResourceObj {
|
class ManifestStream: public ResourceObj {
|
||||||
private:
|
private:
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
#include "runtime/reflectionUtils.hpp"
|
#include "runtime/reflectionUtils.hpp"
|
||||||
#include "runtime/signature.hpp"
|
#include "runtime/signature.hpp"
|
||||||
#include "utilities/hashtable.hpp"
|
#include "utilities/hashtable.hpp"
|
||||||
#include "utilities/hashtable.inline.hpp"
|
|
||||||
|
|
||||||
// The dictionary in each ClassLoaderData stores all loaded classes, either
|
// The dictionary in each ClassLoaderData stores all loaded classes, either
|
||||||
// initiatied by its class loader or defined by its class loader:
|
// initiatied by its class loader or defined by its class loader:
|
||||||
|
@ -27,10 +27,11 @@
|
|||||||
#include "code/compiledMethod.inline.hpp"
|
#include "code/compiledMethod.inline.hpp"
|
||||||
#include "code/scopeDesc.hpp"
|
#include "code/scopeDesc.hpp"
|
||||||
#include "code/codeCache.hpp"
|
#include "code/codeCache.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
|
||||||
#include "interpreter/bytecode.inline.hpp"
|
#include "interpreter/bytecode.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
|
#include "oops/methodData.hpp"
|
||||||
#include "oops/method.inline.hpp"
|
#include "oops/method.inline.hpp"
|
||||||
|
#include "prims/methodHandles.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/mutexLocker.hpp"
|
#include "runtime/mutexLocker.hpp"
|
||||||
|
|
||||||
|
@ -50,11 +50,13 @@ class ExceptionCache : public CHeapObj<mtCode> {
|
|||||||
volatile int _count;
|
volatile int _count;
|
||||||
ExceptionCache* _next;
|
ExceptionCache* _next;
|
||||||
|
|
||||||
address pc_at(int index) { assert(index >= 0 && index < count(),""); return _pc[index]; }
|
inline address pc_at(int index);
|
||||||
void set_pc_at(int index, address a) { assert(index >= 0 && index < cache_size,""); _pc[index] = a; }
|
void set_pc_at(int index, address a) { assert(index >= 0 && index < cache_size,""); _pc[index] = a; }
|
||||||
address handler_at(int index) { assert(index >= 0 && index < count(),""); return _handler[index]; }
|
|
||||||
|
inline address handler_at(int index);
|
||||||
void set_handler_at(int index, address a) { assert(index >= 0 && index < cache_size,""); _handler[index] = a; }
|
void set_handler_at(int index, address a) { assert(index >= 0 && index < cache_size,""); _handler[index] = a; }
|
||||||
int count();
|
|
||||||
|
inline int count();
|
||||||
// increment_count is only called under lock, but there may be concurrent readers.
|
// increment_count is only called under lock, but there may be concurrent readers.
|
||||||
void increment_count();
|
void increment_count();
|
||||||
|
|
||||||
@ -306,9 +308,9 @@ public:
|
|||||||
virtual address get_original_pc(const frame* fr) = 0;
|
virtual address get_original_pc(const frame* fr) = 0;
|
||||||
// Deopt
|
// Deopt
|
||||||
// Return true is the PC is one would expect if the frame is being deopted.
|
// Return true is the PC is one would expect if the frame is being deopted.
|
||||||
bool is_deopt_pc (address pc) { return is_deopt_entry(pc) || is_deopt_mh_entry(pc); }
|
inline bool is_deopt_pc(address pc);
|
||||||
bool is_deopt_mh_entry(address pc) { return pc == deopt_mh_handler_begin(); }
|
bool is_deopt_mh_entry(address pc) { return pc == deopt_mh_handler_begin(); }
|
||||||
bool is_deopt_entry(address pc);
|
inline bool is_deopt_entry(address pc);
|
||||||
|
|
||||||
virtual bool can_convert_to_zombie() = 0;
|
virtual bool can_convert_to_zombie() = 0;
|
||||||
virtual const char* compile_kind() const = 0;
|
virtual const char* compile_kind() const = 0;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user