8264868: Reduce inclusion of registerMap.hpp and register.hpp

Reviewed-by: coleenp, dholmes
This commit is contained in:
Ioi Lam 2021-04-10 06:09:52 +00:00
parent 5784f6b7f7
commit c15680e742
27 changed files with 212 additions and 60 deletions

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2018, 2021, 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
@ -29,6 +29,7 @@
#include "logging/log.hpp" #include "logging/log.hpp"
#include "memory/resourceArea.hpp" #include "memory/resourceArea.hpp"
#include "runtime/sharedRuntime.hpp" #include "runtime/sharedRuntime.hpp"
#include "runtime/registerMap.hpp"
#include "runtime/thread.hpp" #include "runtime/thread.hpp"
#include "utilities/align.hpp" #include "utilities/align.hpp"
#include "utilities/debug.hpp" #include "utilities/debug.hpp"

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2021, 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 "code/codeCache.hpp" #include "code/codeCache.hpp"
#include "code/vmreg.inline.hpp" #include "code/vmreg.inline.hpp"
#include "runtime/registerMap.hpp"
// Inline functions for Intel frames: // Inline functions for Intel frames:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2021, 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 "runtime/globals_extension.hpp" #include "runtime/globals_extension.hpp"
#include "runtime/handles.inline.hpp" #include "runtime/handles.inline.hpp"
#include "runtime/os.inline.hpp" #include "runtime/os.inline.hpp"
#include "runtime/registerMap.hpp"
#include "runtime/timerTrace.hpp" #include "runtime/timerTrace.hpp"
GrowableArray<AOTCodeHeap*>* AOTLoader::_heaps = new(ResourceObj::C_HEAP, mtCode) GrowableArray<AOTCodeHeap*> (2, mtCode); GrowableArray<AOTCodeHeap*>* AOTLoader::_heaps = new(ResourceObj::C_HEAP, mtCode) GrowableArray<AOTCodeHeap*> (2, mtCode);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2021, 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 @@
#define SHARE_CODE_VMREG_HPP #define SHARE_CODE_VMREG_HPP
#include "asm/register.hpp" #include "asm/register.hpp"
#include "code/vmregTypes.hpp"
#include "runtime/globals.hpp" #include "runtime/globals.hpp"
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"

View file

@ -0,0 +1,35 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef SHARE_CODE_VMREGTYPES_HPP
#define SHARE_CODE_VMREGTYPES_HPP
// Headers that just need a forward declaration of VMReg (e.g., frame.hpp)
// should include this file. Include vmreg.hpp only if you need to use
// the full definition of VMReg.
class VMRegImpl;
typedef VMRegImpl* VMReg;
#endif // SHARE_CODE_VMREGTYPES_HPP

View file

@ -41,6 +41,7 @@
#include "runtime/globals.hpp" #include "runtime/globals.hpp"
#include "runtime/handles.hpp" #include "runtime/handles.hpp"
#include "runtime/safepoint.hpp" #include "runtime/safepoint.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/stackWatermark.inline.hpp" #include "runtime/stackWatermark.inline.hpp"
#include "runtime/stackWatermarkSet.inline.hpp" #include "runtime/stackWatermarkSet.inline.hpp"
#include "runtime/thread.hpp" #include "runtime/thread.hpp"

View file

@ -40,6 +40,7 @@
#include "runtime/frame.inline.hpp" #include "runtime/frame.inline.hpp"
#include "runtime/jniHandles.hpp" #include "runtime/jniHandles.hpp"
#include "runtime/mutexLocker.hpp" #include "runtime/mutexLocker.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/vframe_hp.hpp" #include "runtime/vframe_hp.hpp"
#include "services/management.hpp" #include "services/management.hpp"
#include "utilities/enumIterator.hpp" #include "utilities/enumIterator.hpp"

View file

@ -57,6 +57,7 @@
#include "runtime/interfaceSupport.inline.hpp" #include "runtime/interfaceSupport.inline.hpp"
#include "runtime/jniHandles.inline.hpp" #include "runtime/jniHandles.inline.hpp"
#include "runtime/reflectionUtils.hpp" #include "runtime/reflectionUtils.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/timerTrace.hpp" #include "runtime/timerTrace.hpp"
#include "runtime/vframe_hp.hpp" #include "runtime/vframe_hp.hpp"

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2003, 2021, 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
@ -35,6 +35,7 @@
#include "prims/jvmtiThreadState.inline.hpp" #include "prims/jvmtiThreadState.inline.hpp"
#include "runtime/deoptimization.hpp" #include "runtime/deoptimization.hpp"
#include "runtime/frame.inline.hpp" #include "runtime/frame.inline.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/thread.inline.hpp" #include "runtime/thread.inline.hpp"
#include "runtime/threadSMR.hpp" #include "runtime/threadSMR.hpp"
#include "runtime/vframe.hpp" #include "runtime/vframe.hpp"

View file

@ -78,6 +78,7 @@
#include "runtime/javaCalls.hpp" #include "runtime/javaCalls.hpp"
#include "runtime/jniHandles.inline.hpp" #include "runtime/jniHandles.inline.hpp"
#include "runtime/os.hpp" #include "runtime/os.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/sweeper.hpp" #include "runtime/sweeper.hpp"
#include "runtime/synchronizer.hpp" #include "runtime/synchronizer.hpp"
#include "runtime/thread.hpp" #include "runtime/thread.hpp"

View file

@ -71,6 +71,7 @@
#include "runtime/safepointVerifiers.hpp" #include "runtime/safepointVerifiers.hpp"
#include "runtime/sharedRuntime.hpp" #include "runtime/sharedRuntime.hpp"
#include "runtime/signature.hpp" #include "runtime/signature.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/stackWatermarkSet.hpp" #include "runtime/stackWatermarkSet.hpp"
#include "runtime/stubRoutines.hpp" #include "runtime/stubRoutines.hpp"
#include "runtime/thread.hpp" #include "runtime/thread.hpp"

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020 SAP SE. All rights reserved. * Copyright (c) 2020 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 "runtime/keepStackGCProcessed.hpp" #include "runtime/keepStackGCProcessed.hpp"
#include "runtime/mutexLocker.hpp" #include "runtime/mutexLocker.hpp"
#include "runtime/registerMap.hpp" #include "runtime/registerMap.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/stackValue.hpp" #include "runtime/stackValue.hpp"
#include "runtime/stackValueCollection.hpp" #include "runtime/stackValueCollection.hpp"
#include "runtime/threadSMR.hpp" #include "runtime/threadSMR.hpp"

View file

@ -1238,17 +1238,6 @@ void frame::describe(FrameValues& values, int frame_no) {
#endif #endif
//-----------------------------------------------------------------------------------
// StackFrameStream implementation
StackFrameStream::StackFrameStream(JavaThread *thread, bool update, bool process_frames) : _reg_map(thread, update, process_frames) {
assert(thread->has_last_Java_frame(), "sanity check");
_fr = thread->last_frame();
_is_done = false;
}
#ifndef PRODUCT #ifndef PRODUCT
void FrameValues::describe(int owner, intptr_t* location, const char* description, int priority) { void FrameValues::describe(int owner, intptr_t* location, const char* description, int priority) {

View file

@ -25,9 +25,9 @@
#ifndef SHARE_RUNTIME_FRAME_HPP #ifndef SHARE_RUNTIME_FRAME_HPP
#define SHARE_RUNTIME_FRAME_HPP #define SHARE_RUNTIME_FRAME_HPP
#include "code/vmregTypes.hpp"
#include "runtime/basicLock.hpp" #include "runtime/basicLock.hpp"
#include "runtime/monitorChunk.hpp" #include "runtime/monitorChunk.hpp"
#include "runtime/registerMap.hpp"
#include "utilities/growableArray.hpp" #include "utilities/growableArray.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
#ifdef ZERO #ifdef ZERO
@ -43,6 +43,7 @@ class vframeArray;
class JavaCallWrapper; class JavaCallWrapper;
class Method; class Method;
class methodHandle; class methodHandle;
class RegisterMap;
enum class DerivedPointerIterationMode { enum class DerivedPointerIterationMode {
_with_table, _with_table,
@ -450,40 +451,5 @@ class FrameValues {
#endif #endif
//
// StackFrameStream iterates through the frames of a thread starting from
// top most frame. It automatically takes care of updating the location of
// all (callee-saved) registers iff the update flag is set. It also
// automatically takes care of lazily applying deferred GC processing
// onto exposed frames, such that all oops are valid iff the process_frames
// flag is set.
//
// Notice: If a thread is stopped at a safepoint, all registers are saved,
// not only the callee-saved ones.
//
// Use:
//
// for(StackFrameStream fst(thread, true /* update */, true /* process_frames */);
// !fst.is_done();
// fst.next()) {
// ...
// }
//
class StackFrameStream : public StackObj {
private:
frame _fr;
RegisterMap _reg_map;
bool _is_done;
public:
StackFrameStream(JavaThread *thread, bool update, bool process_frames);
// Iteration
inline bool is_done();
void next() { if (!_is_done) _fr = _fr.sender(&_reg_map); }
// Query
frame *current() { return &_fr; }
RegisterMap* register_map() { return &_reg_map; }
};
#endif // SHARE_RUNTIME_FRAME_HPP #endif // SHARE_RUNTIME_FRAME_HPP

View file

@ -29,6 +29,7 @@
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"
#include "oops/method.hpp" #include "oops/method.hpp"
#include "runtime/frame.hpp" #include "runtime/frame.hpp"
#include "runtime/registerMap.hpp"
#include "runtime/stubRoutines.hpp" #include "runtime/stubRoutines.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
#ifdef ZERO #ifdef ZERO
@ -65,8 +66,4 @@ inline oop* frame::oopmapreg_to_oop_location(VMReg reg, const RegisterMap* reg_m
return (oop*)oopmapreg_to_location(reg, reg_map); return (oop*)oopmapreg_to_location(reg, reg_map);
} }
inline bool StackFrameStream::is_done() {
return (_is_done) ? true : (_is_done = _fr.is_first_frame(), false);
}
#endif // SHARE_RUNTIME_FRAME_INLINE_HPP #endif // SHARE_RUNTIME_FRAME_INLINE_HPP

View file

@ -36,6 +36,7 @@
#include "runtime/os.inline.hpp" #include "runtime/os.inline.hpp"
#include "runtime/thread.inline.hpp" #include "runtime/thread.inline.hpp"
#include "runtime/safepointVerifiers.hpp" #include "runtime/safepointVerifiers.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/vframe.hpp" #include "runtime/vframe.hpp"
#include "runtime/vmOperations.hpp" #include "runtime/vmOperations.hpp"
#include "runtime/vmThread.hpp" #include "runtime/vmThread.hpp"

View file

@ -0,0 +1,34 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include "precompiled.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "utilities/debug.hpp"
StackFrameStream::StackFrameStream(JavaThread *thread, bool update, bool process_frames) : _reg_map(thread, update, process_frames) {
assert(thread->has_last_Java_frame(), "sanity check");
_fr = thread->last_frame();
_is_done = false;
}

View file

@ -0,0 +1,72 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef SHARE_RUNTIME_STACKFRAMESTREAM_HPP
#define SHARE_RUNTIME_STACKFRAMESTREAM_HPP
#include "memory/allocation.hpp"
#include "runtime/frame.hpp"
#include "runtime/registerMap.hpp"
class JavaThread;
//
// StackFrameStream iterates through the frames of a thread starting from
// top most frame. It automatically takes care of updating the location of
// all (callee-saved) registers iff the update flag is set. It also
// automatically takes care of lazily applying deferred GC processing
// onto exposed frames, such that all oops are valid iff the process_frames
// flag is set.
//
// Notice: If a thread is stopped at a safepoint, all registers are saved,
// not only the callee-saved ones.
//
// Use:
//
// for(StackFrameStream fst(thread, true /* update */, true /* process_frames */);
// !fst.is_done();
// fst.next()) {
// ...
// }
//
class StackFrameStream : public StackObj {
private:
frame _fr;
RegisterMap _reg_map;
bool _is_done;
public:
StackFrameStream(JavaThread *thread, bool update, bool process_frames);
// Iteration
inline bool is_done();
void next() { if (!_is_done) _fr = _fr.sender(&_reg_map); }
// Query
frame *current() { return &_fr; }
RegisterMap* register_map() { return &_reg_map; }
};
#endif // SHARE_RUNTIME_STACKFRAMESTREAM_HPP

View file

@ -0,0 +1,37 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#ifndef SHARE_RUNTIME_STACKFRAMESTREAM_INLINE_HPP
#define SHARE_RUNTIME_STACKFRAMESTREAM_INLINE_HPP
#include "runtime/frame.inline.hpp"
#include "runtime/stackFrameStream.hpp"
inline bool StackFrameStream::is_done() {
return (_is_done) ? true : (_is_done = _fr.is_first_frame(), false);
}
#endif // SHARE_RUNTIME_STACKFRAMESTREAM_INLINE_HPP

View file

@ -28,6 +28,7 @@
#include "runtime/frame.inline.hpp" #include "runtime/frame.inline.hpp"
#include "runtime/osThread.hpp" #include "runtime/osThread.hpp"
#include "runtime/safepoint.hpp" #include "runtime/safepoint.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/stackWatermark.inline.hpp" #include "runtime/stackWatermark.inline.hpp"
#include "runtime/thread.hpp" #include "runtime/thread.hpp"
#include "utilities/debug.hpp" #include "utilities/debug.hpp"

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2020, 2021, 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 @@
#define SHARE_RUNTIME_STACKWATERMARK_INLINE_HPP #define SHARE_RUNTIME_STACKWATERMARK_INLINE_HPP
#include "code/nmethod.hpp" #include "code/nmethod.hpp"
#include "runtime/registerMap.hpp"
#include "runtime/stackWatermark.hpp" #include "runtime/stackWatermark.hpp"
#include "runtime/thread.hpp" #include "runtime/thread.hpp"

View file

@ -99,6 +99,7 @@
#include "runtime/safepointVerifiers.hpp" #include "runtime/safepointVerifiers.hpp"
#include "runtime/serviceThread.hpp" #include "runtime/serviceThread.hpp"
#include "runtime/sharedRuntime.hpp" #include "runtime/sharedRuntime.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/stackWatermarkSet.hpp" #include "runtime/stackWatermarkSet.hpp"
#include "runtime/statSampler.hpp" #include "runtime/statSampler.hpp"
#include "runtime/task.hpp" #include "runtime/task.hpp"

View file

@ -44,6 +44,7 @@
#include "runtime/objectMonitor.inline.hpp" #include "runtime/objectMonitor.inline.hpp"
#include "runtime/osThread.hpp" #include "runtime/osThread.hpp"
#include "runtime/signature.hpp" #include "runtime/signature.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/stubRoutines.hpp" #include "runtime/stubRoutines.hpp"
#include "runtime/synchronizer.hpp" #include "runtime/synchronizer.hpp"
#include "runtime/thread.inline.hpp" #include "runtime/thread.inline.hpp"

View file

@ -31,6 +31,7 @@
#include "oops/oop.hpp" #include "oops/oop.hpp"
#include "runtime/frame.hpp" #include "runtime/frame.hpp"
#include "runtime/handles.hpp" #include "runtime/handles.hpp"
#include "runtime/registerMap.hpp"
#include "runtime/stackValue.hpp" #include "runtime/stackValue.hpp"
#include "runtime/stackValueCollection.hpp" #include "runtime/stackValueCollection.hpp"
#include "utilities/growableArray.hpp" #include "utilities/growableArray.hpp"
@ -51,6 +52,8 @@
// - BasicLock // - BasicLock
class StackFrameStream;
class vframe: public ResourceObj { class vframe: public ResourceObj {
protected: protected:
frame _fr; // Raw frame behind the virtual frame. frame _fr; // Raw frame behind the virtual frame.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2021, 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,6 +30,7 @@
#include "runtime/deoptimization.hpp" #include "runtime/deoptimization.hpp"
#include "runtime/frame.hpp" #include "runtime/frame.hpp"
#include "runtime/monitorChunk.hpp" #include "runtime/monitorChunk.hpp"
#include "runtime/registerMap.hpp"
#include "utilities/growableArray.hpp" #include "utilities/growableArray.hpp"
// A vframeArray is an array used for momentarily storing off stack Java method activations // A vframeArray is an array used for momentarily storing off stack Java method activations

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2021, 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
@ -42,6 +42,7 @@
#include "runtime/frame.inline.hpp" #include "runtime/frame.inline.hpp"
#include "runtime/interfaceSupport.inline.hpp" #include "runtime/interfaceSupport.inline.hpp"
#include "runtime/jniHandles.hpp" #include "runtime/jniHandles.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/synchronizer.hpp" #include "runtime/synchronizer.hpp"
#include "runtime/thread.inline.hpp" #include "runtime/thread.inline.hpp"
#include "runtime/threadSMR.inline.hpp" #include "runtime/threadSMR.inline.hpp"

View file

@ -46,6 +46,7 @@
#include "runtime/osThread.hpp" #include "runtime/osThread.hpp"
#include "runtime/safefetch.inline.hpp" #include "runtime/safefetch.inline.hpp"
#include "runtime/safepointMechanism.hpp" #include "runtime/safepointMechanism.hpp"
#include "runtime/stackFrameStream.inline.hpp"
#include "runtime/thread.inline.hpp" #include "runtime/thread.inline.hpp"
#include "runtime/threadSMR.hpp" #include "runtime/threadSMR.hpp"
#include "runtime/vmThread.hpp" #include "runtime/vmThread.hpp"