8215731: Move forward class definitions out of globalDefinitions.hpp

Redistribute the forward declarations to the header files that need them.

Reviewed-by: dholmes, lfoltan
This commit is contained in:
Coleen Phillimore 2019-01-04 15:06:01 -05:00
parent 346018251f
commit 1509c1ffe1
39 changed files with 108 additions and 122 deletions

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2108, Red Hat Inc. All rights reserved. * Copyright (c) 2014, 2108, 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.
* *
@ -48,6 +48,8 @@
// The base class for different kinds of native instruction abstractions. // The base class for different kinds of native instruction abstractions.
// Provides the primitive operations to manipulate code relative to this. // Provides the primitive operations to manipulate code relative to this.
class NativeCall;
class NativeInstruction { class NativeInstruction {
friend class Relocation; friend class Relocation;
friend bool is_NativeCallTrampolineStub_at(address); friend bool is_NativeCallTrampolineStub_at(address);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2019, 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
@ -45,6 +45,7 @@
// The non-raw classes are the front-end entry point, hiding potential // The non-raw classes are the front-end entry point, hiding potential
// back-end extensions or the actual instructions size. // back-end extensions or the actual instructions size.
class NativeInstruction; class NativeInstruction;
class NativeCall;
class RawNativeInstruction { class RawNativeInstruction {
public: public:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -311,6 +311,8 @@ inline NativeInstruction* nativeInstruction_at(address address) {
// The NativeCall is an abstraction for accessing/manipulating native call imm32 instructions. // The NativeCall is an abstraction for accessing/manipulating native call imm32 instructions.
// (used to manipulate inline caches, primitive & dll calls, etc.) // (used to manipulate inline caches, primitive & dll calls, etc.)
class NativeCall;
inline NativeCall* nativeCall_at(address instr); inline NativeCall* nativeCall_at(address instr);
inline NativeCall* nativeCall_overwriting_at(address instr, inline NativeCall* nativeCall_overwriting_at(address instr,
address destination); address destination);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -149,6 +149,7 @@ inline NativePltCall* nativePltCall_before(address addr) {
return nativePltCall_at(at); return nativePltCall_at(at);
} }
class NativeCall;
inline NativeCall* nativeCall_at(address address); inline NativeCall* nativeCall_at(address address);
// The NativeCall is an abstraction for accessing/manipulating native call imm32/rel32off // The NativeCall is an abstraction for accessing/manipulating native call imm32/rel32off
// instructions (used to manipulate inline caches, primitive & dll calls, etc.). // instructions (used to manipulate inline caches, primitive & dll calls, etc.).

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2000, 2019, 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.
* *
@ -40,6 +40,7 @@ define_pd_global(uintx,JVMInvokeMethodSlack, 8192);
// Used on 64 bit platforms for UseCompressedOops base address // Used on 64 bit platforms for UseCompressedOops base address
define_pd_global(uintx,HeapBaseMinAddress, 2*G); define_pd_global(uintx,HeapBaseMinAddress, 2*G);
class Thread;
extern __thread Thread *aarch64_currentThread; extern __thread Thread *aarch64_currentThread;
#endif // OS_CPU_LINUX_AARCH64_VM_GLOBALS_LINUX_AARCH64_HPP #endif // OS_CPU_LINUX_AARCH64_VM_GLOBALS_LINUX_AARCH64_HPP

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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 "utilities/concurrentHashTable.hpp" #include "utilities/concurrentHashTable.hpp"
#include "utilities/hashtable.hpp" #include "utilities/hashtable.hpp"
class JavaThread;
// TempNewSymbol acts as a handle class in a handle/body idiom and is // TempNewSymbol acts as a handle class in a handle/body idiom and is
// responsible for proper resource management of the body (which is a Symbol*). // responsible for proper resource management of the body (which is a Symbol*).
// The body is resource managed by a reference counting scheme. // The body is resource managed by a reference counting scheme.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2019, 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,8 @@ class AbstractCompiler;
class xmlStream; class xmlStream;
class CompiledStaticCall; class CompiledStaticCall;
class NativeCallWrapper; class NativeCallWrapper;
class ScopeDesc;
class CompiledIC;
// This class is used internally by nmethods, to cache // This class is used internally by nmethods, to cache
// exception/pc/handler information. // exception/pc/handler information.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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,6 +28,9 @@
#include "asm/assembler.hpp" #include "asm/assembler.hpp"
#include "code/vmreg.hpp" #include "code/vmreg.hpp"
class DebugInfoReadStream;
class DebugInfoWriteStream;
// A Location describes a concrete machine variable location // A Location describes a concrete machine variable location
// (such as integer or floating point register or a stack-held // (such as integer or floating point register or a stack-held
// variable). Used when generating debug-information for nmethods. // variable). Used when generating debug-information for nmethods.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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 @@
class DepChange; class DepChange;
class DirectiveSet; class DirectiveSet;
class DebugInformationRecorder;
// nmethods (native methods) are the compiled code versions of Java methods. // nmethods (native methods) are the compiled code versions of Java methods.
// //

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2019, 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,6 +28,8 @@
#include "memory/allocation.hpp" #include "memory/allocation.hpp"
#include "oops/oopsHierarchy.hpp" #include "oops/oopsHierarchy.hpp"
class methodHandle;
// CompilerOracle is an interface for turning on and off compilation // CompilerOracle is an interface for turning on and off compilation
// for some methods // for some methods

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2007, 2019, 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
@ -39,6 +39,8 @@ class CMSCollector;
class MarkFromRootsClosure; class MarkFromRootsClosure;
class ParMarkFromRootsClosure; class ParMarkFromRootsClosure;
class Mutex;
// Decode the oop and call do_oop on it. // Decode the oop and call do_oop on it.
#define DO_OOP_WORK_DEFN \ #define DO_OOP_WORK_DEFN \
void do_oop(oop obj); \ void do_oop(oop obj); \

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2019, 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,8 @@
class FreeIdSet; class FreeIdSet;
class DirtyCardQueueSet; class DirtyCardQueueSet;
class JavaThread;
class Monitor;
// A closure class for processing card table entries. Note that we don't // A closure class for processing card table entries. Note that we don't
// require these closure objects to be stack-allocated. // require these closure objects to be stack-allocated.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2018, 2019, 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,6 +28,7 @@
#include "gc/shared/satbMarkQueue.hpp" #include "gc/shared/satbMarkQueue.hpp"
class G1CollectedHeap; class G1CollectedHeap;
class Monitor;
class JavaThread; class JavaThread;
class G1SATBMarkQueueSet : public SATBMarkQueueSet { class G1SATBMarkQueueSet : public SATBMarkQueueSet {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2000, 2019, 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
@ -265,6 +265,8 @@ public:
HeapWord* address_for_index(size_t index) const; HeapWord* address_for_index(size_t index) const;
}; };
class Space;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// The BlockOffsetArray whose subtypes use the BlockOffsetSharedArray. // The BlockOffsetArray whose subtypes use the BlockOffsetSharedArray.
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2019, 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 "utilities/sizes.hpp" #include "utilities/sizes.hpp"
class Mutex; class Mutex;
class Monitor;
// There are various techniques that require threads to be able to log // There are various techniques that require threads to be able to log
// addresses. For example, a generational write barrier might log // addresses. For example, a generational write barrier might log

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2019, 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 "memory/allocation.hpp" #include "memory/allocation.hpp"
class JavaThread; class JavaThread;
class Monitor;
class SATBMarkQueueSet; class SATBMarkQueueSet;
// Base class for processing the contents of a SATB buffer. // Base class for processing the contents of a SATB buffer.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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,6 +37,8 @@
// class BytecodeTracer is used by TraceBytecodes option and PrintMethodData // class BytecodeTracer is used by TraceBytecodes option and PrintMethodData
class methodHandle;
class BytecodeClosure; class BytecodeClosure;
class BytecodeTracer: AllStatic { class BytecodeTracer: AllStatic {
private: private:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -60,6 +60,7 @@ class OffsetClosure {
virtual void offset_do(int offset) = 0; virtual void offset_do(int offset) = 0;
}; };
class OopMapCacheEntry;
class InterpreterOopMap: ResourceObj { class InterpreterOopMap: ResourceObj {
friend class OopMapCache; friend class OopMapCache;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2019, 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,8 @@ class JfrThreadData;
class ObjectSample; class ObjectSample;
class ObjectSampler; class ObjectSampler;
class VMThread;
// Safepoint operation for emitting object sample events // Safepoint operation for emitting object sample events
class EmitEventOperation : public VM_Operation { class EmitEventOperation : public VM_Operation {
private: private:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2019, 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 @@
class BoolObjectClosure; class BoolObjectClosure;
class ObjectSampler; class ObjectSampler;
class OopClosure; class OopClosure;
class JavaThread;
class Thread; class Thread;
class LeakProfiler : public AllStatic { class LeakProfiler : public AllStatic {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2019, 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,8 @@
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
class outputStream;
// The list of available decorators: // The list of available decorators:
// time - Current time and date in ISO-8601 format // time - Current time and date in ISO-8601 format
// uptime - Time since the start of the JVM in seconds and milliseconds (e.g., 6.567s) // uptime - Time since the start of the JVM in seconds and milliseconds (e.g., 6.567s)

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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 <new> #include <new>
class Thread;
class AllocFailStrategy { class AllocFailStrategy {
public: public:
enum AllocFailEnum { EXIT_OOM, RETURN_NULL }; enum AllocFailEnum { EXIT_OOM, RETURN_NULL };

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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,8 @@
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
class outputStream;
// ReservedSpace is a data structure for reserving a contiguous address range. // ReservedSpace is a data structure for reserving a contiguous address range.
class ReservedSpace { class ReservedSpace {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -71,6 +71,8 @@ class JNIid;
class JvmtiCachedClassFieldMap; class JvmtiCachedClassFieldMap;
class nmethodBucket; class nmethodBucket;
class SuperTypeClosure; class SuperTypeClosure;
class OopMapCache;
class InterpreterOopMap;
// This is used in iterators below. // This is used in iterators below.
class FieldClosure: public StackObj { class FieldClosure: public StackObj {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -66,6 +66,7 @@ class ConstMethod;
class InlineTableSizes; class InlineTableSizes;
class KlassSizeStats; class KlassSizeStats;
class CompiledMethod; class CompiledMethod;
class InterpreterOopMap;
class Method : public Metadata { class Method : public Metadata {
friend class VMStructs; friend class VMStructs;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -73,7 +73,7 @@ typedef class typeArrayOopDesc* typeArrayOop;
class Thread; class Thread;
class PromotedObject; class PromotedObject;
class oopDesc;
class oop { class oop {
oopDesc* _o; oopDesc* _o;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2000, 2019, 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 @@
// interpreted). // interpreted).
class CompileTask; class CompileTask;
class CompileQueue; class CompileQueue;
class RFrame;
class CompilationPolicy : public CHeapObj<mtCompiler> { class CompilationPolicy : public CHeapObj<mtCompiler> {
static CompilationPolicy* _policy; static CompilationPolicy* _policy;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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,8 +30,13 @@
class ProfileData; class ProfileData;
class vframeArray; class vframeArray;
class MonitorInfo;
class MonitorValue; class MonitorValue;
class ObjectValue; class ObjectValue;
class ScopeValue;
class compiledVFrame;
template<class E> class GrowableArray;
class Deoptimization : AllStatic { class Deoptimization : AllStatic {
friend class VMStructs; friend class VMStructs;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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,6 +28,8 @@
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
class outputStream;
// function type that will construct default range string // function type that will construct default range string
typedef const char* (*RangeStrFunc)(void); typedef const char* (*RangeStrFunc)(void);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -39,6 +39,7 @@ typedef class BytecodeInterpreter* interpreterState;
class CodeBlob; class CodeBlob;
class FrameValues; class FrameValues;
class vframeArray; class vframeArray;
class JavaCallWrapper;
// A frame represents a physical stack frame (an activation). Frames // A frame represents a physical stack frame (an activation). Frames

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2019, 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,7 +28,9 @@
#include "memory/allocation.hpp" #include "memory/allocation.hpp"
#include "runtime/handles.hpp" #include "runtime/handles.hpp"
class JavaThread;
class OopStorage; class OopStorage;
class Thread;
// Interface for creating and resolving local/global JNI handles // Interface for creating and resolving local/global JNI handles

View file

@ -53,6 +53,8 @@ class Thread;
class JavaThread; class JavaThread;
class NativeCallStack; class NativeCallStack;
class methodHandle; class methodHandle;
class OSThread;
class Mutex;
template<class E> class GrowableArray; template<class E> class GrowableArray;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -53,6 +53,8 @@ enum ThreadState {
ZOMBIE // All done, but not reclaimed yet ZOMBIE // All done, but not reclaimed yet
}; };
typedef int (*OSThreadStartFunc)(void*);
class OSThread: public CHeapObj<mtThread> { class OSThread: public CHeapObj<mtThread> {
friend class VMStructs; friend class VMStructs;
friend class JVMCIVMStructs; friend class JVMCIVMStructs;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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,6 +28,10 @@
#include "code/location.hpp" #include "code/location.hpp"
#include "runtime/handles.hpp" #include "runtime/handles.hpp"
class BasicLock;
class RegisterMap;
class ScopeValue;
class StackValue : public ResourceObj { class StackValue : public ResourceObj {
private: private:
BasicType _type; BasicType _type;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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
@ -67,6 +67,7 @@ class ThreadStatistics;
class ConcurrentLocksDump; class ConcurrentLocksDump;
class ParkEvent; class ParkEvent;
class Parker; class Parker;
class MonitorInfo;
class ciEnv; class ciEnv;
class CompileThread; class CompileThread;
@ -74,7 +75,10 @@ class CompileLog;
class CompileTask; class CompileTask;
class CompileQueue; class CompileQueue;
class CompilerCounters; class CompilerCounters;
class vframeArray; class vframeArray;
class vframe;
class javaVFrame;
class DeoptResourceMark; class DeoptResourceMark;
class jvmtiDeferredLocalVariableSet; class jvmtiDeferredLocalVariableSet;
@ -85,8 +89,7 @@ class ICRefillVerifier;
class IdealGraphPrinter; class IdealGraphPrinter;
class Metadata; class Metadata;
template <class T, MEMFLAGS F> class ChunkedList; class ResourceArea;
typedef ChunkedList<Metadata*, mtInternal> MetadataOnStackBuffer;
DEBUG_ONLY(class ResourceMark;) DEBUG_ONLY(class ResourceMark;)

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2018, 2019, 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 @@
// A CALLBACK_FUNC and LOOKUP_FUNC needs to be provided for get and insert. // A CALLBACK_FUNC and LOOKUP_FUNC needs to be provided for get and insert.
class Thread; class Thread;
class Mutex;
template <typename VALUE, typename CONFIG, MEMFLAGS F> template <typename VALUE, typename CONFIG, MEMFLAGS F>
class ConcurrentHashTable : public CHeapObj<F> { class ConcurrentHashTable : public CHeapObj<F> {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2019, 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,8 +28,10 @@
#include "jvm.h" #include "jvm.h"
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
// constant tags in Java .class files
class outputStream;
// constant tags in Java .class files
enum { enum {
// See jvm.h for shared JVM_CONSTANT_XXX tags // See jvm.h for shared JVM_CONSTANT_XXX tags

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2019, 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
@ -52,6 +52,7 @@ class Thread;
class Handle; class Handle;
class Symbol; class Symbol;
class JavaCallArguments; class JavaCallArguments;
class methodHandle;
// The ThreadShadow class is a helper class to access the _pending_exception // The ThreadShadow class is a helper class to access the _pending_exception
// field of the Thread class w/o having access to the Thread's interface (for // field of the Thread class w/o having access to the Thread's interface (for

View file

@ -820,87 +820,6 @@ enum JavaThreadState {
_thread_max_state = 12 // maximum thread state+1 - used for statistics allocation _thread_max_state = 12 // maximum thread state+1 - used for statistics allocation
}; };
//----------------------------------------------------------------------------------------------------
// 'Forward' declarations of frequently used classes
// (in order to reduce interface dependencies & reduce
// number of unnecessary compilations after changes)
class ClassFileStream;
class Thread;
class VMThread;
class JavaThread;
class Threads;
class VM_Operation;
class VMOperationQueue;
class CodeBlob;
class CompiledMethod;
class nmethod;
class RuntimeBlob;
class CompiledIC;
class relocInfo;
class ScopeDesc;
class PcDesc;
class RFrame;
class CompiledRFrame;
class InterpretedRFrame;
class vframe;
class javaVFrame;
class interpretedVFrame;
class compiledVFrame;
class externalVFrame;
class entryVFrame;
class RegisterMap;
class Mutex;
class Monitor;
class BasicLock;
class BasicObjectLock;
class PeriodicTask;
class JavaCallWrapper;
class oopDesc;
class NativeCall;
class StubQueue;
class outputStream;
class ResourceArea;
class DebugInformationRecorder;
class ScopeValue;
class CompressedStream;
class DebugInfoReadStream;
class DebugInfoWriteStream;
class LocationValue;
class MonitorInfo;
class OffsetClosure;
class OopMapCache;
class InterpreterOopMap;
class OopMapCacheEntry;
class OSThread;
typedef int (*OSThreadStartFunc)(void*);
class Space;
class JavaValue;
class methodHandle;
class JavaCallArguments;
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
// Special constants for debugging // Special constants for debugging