diff --git a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp index 5cda3e0e240ba..ade2cfdb7fcfb 100644 --- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp @@ -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. * 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. // Provides the primitive operations to manipulate code relative to this. +class NativeCall; + class NativeInstruction { friend class Relocation; friend bool is_NativeCallTrampolineStub_at(address); diff --git a/src/hotspot/cpu/arm/nativeInst_arm_32.hpp b/src/hotspot/cpu/arm/nativeInst_arm_32.hpp index a1741169d93f0..7893f38d98598 100644 --- a/src/hotspot/cpu/arm/nativeInst_arm_32.hpp +++ b/src/hotspot/cpu/arm/nativeInst_arm_32.hpp @@ -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. * * 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 // back-end extensions or the actual instructions size. class NativeInstruction; +class NativeCall; class RawNativeInstruction { public: diff --git a/src/hotspot/cpu/sparc/nativeInst_sparc.hpp b/src/hotspot/cpu/sparc/nativeInst_sparc.hpp index 82225da8fe713..3d0023d68f101 100644 --- a/src/hotspot/cpu/sparc/nativeInst_sparc.hpp +++ b/src/hotspot/cpu/sparc/nativeInst_sparc.hpp @@ -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. * * 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. // (used to manipulate inline caches, primitive & dll calls, etc.) +class NativeCall; + inline NativeCall* nativeCall_at(address instr); inline NativeCall* nativeCall_overwriting_at(address instr, address destination); diff --git a/src/hotspot/cpu/x86/nativeInst_x86.hpp b/src/hotspot/cpu/x86/nativeInst_x86.hpp index 80052fe0dc366..f7a11c8d3a346 100644 --- a/src/hotspot/cpu/x86/nativeInst_x86.hpp +++ b/src/hotspot/cpu/x86/nativeInst_x86.hpp @@ -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. * * 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); } +class NativeCall; inline NativeCall* nativeCall_at(address address); // The NativeCall is an abstraction for accessing/manipulating native call imm32/rel32off // instructions (used to manipulate inline caches, primitive & dll calls, etc.). diff --git a/src/hotspot/os_cpu/linux_aarch64/globals_linux_aarch64.hpp b/src/hotspot/os_cpu/linux_aarch64/globals_linux_aarch64.hpp index 360be743ddc93..947a1e7dea0de 100644 --- a/src/hotspot/os_cpu/linux_aarch64/globals_linux_aarch64.hpp +++ b/src/hotspot/os_cpu/linux_aarch64/globals_linux_aarch64.hpp @@ -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. * 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 define_pd_global(uintx,HeapBaseMinAddress, 2*G); +class Thread; extern __thread Thread *aarch64_currentThread; #endif // OS_CPU_LINUX_AARCH64_VM_GLOBALS_LINUX_AARCH64_HPP diff --git a/src/hotspot/share/classfile/symbolTable.hpp b/src/hotspot/share/classfile/symbolTable.hpp index 784a95ee84ae4..183cb4fb017e7 100644 --- a/src/hotspot/share/classfile/symbolTable.hpp +++ b/src/hotspot/share/classfile/symbolTable.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -31,6 +31,8 @@ #include "utilities/concurrentHashTable.hpp" #include "utilities/hashtable.hpp" +class JavaThread; + // 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*). // The body is resource managed by a reference counting scheme. diff --git a/src/hotspot/share/code/compiledMethod.hpp b/src/hotspot/share/code/compiledMethod.hpp index 2d0c086489989..66a2326dfe452 100644 --- a/src/hotspot/share/code/compiledMethod.hpp +++ b/src/hotspot/share/code/compiledMethod.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,8 @@ class AbstractCompiler; class xmlStream; class CompiledStaticCall; class NativeCallWrapper; +class ScopeDesc; +class CompiledIC; // This class is used internally by nmethods, to cache // exception/pc/handler information. diff --git a/src/hotspot/share/code/location.hpp b/src/hotspot/share/code/location.hpp index faaed81381b80..5090350762362 100644 --- a/src/hotspot/share/code/location.hpp +++ b/src/hotspot/share/code/location.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,9 @@ #include "asm/assembler.hpp" #include "code/vmreg.hpp" +class DebugInfoReadStream; +class DebugInfoWriteStream; + // A Location describes a concrete machine variable location // (such as integer or floating point register or a stack-held // variable). Used when generating debug-information for nmethods. diff --git a/src/hotspot/share/code/nmethod.hpp b/src/hotspot/share/code/nmethod.hpp index 73716a07db01d..234ad2c0413a1 100644 --- a/src/hotspot/share/code/nmethod.hpp +++ b/src/hotspot/share/code/nmethod.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ class DepChange; class DirectiveSet; +class DebugInformationRecorder; // nmethods (native methods) are the compiled code versions of Java methods. // diff --git a/src/hotspot/share/compiler/compilerOracle.hpp b/src/hotspot/share/compiler/compilerOracle.hpp index 9b731ebb2e0fe..02a10d80d19b9 100644 --- a/src/hotspot/share/compiler/compilerOracle.hpp +++ b/src/hotspot/share/compiler/compilerOracle.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,8 @@ #include "memory/allocation.hpp" #include "oops/oopsHierarchy.hpp" +class methodHandle; + // CompilerOracle is an interface for turning on and off compilation // for some methods diff --git a/src/hotspot/share/gc/cms/cmsOopClosures.hpp b/src/hotspot/share/gc/cms/cmsOopClosures.hpp index 3e456e50676ae..5ee3ae9a8a5e0 100644 --- a/src/hotspot/share/gc/cms/cmsOopClosures.hpp +++ b/src/hotspot/share/gc/cms/cmsOopClosures.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -39,6 +39,8 @@ class CMSCollector; class MarkFromRootsClosure; class ParMarkFromRootsClosure; +class Mutex; + // Decode the oop and call do_oop on it. #define DO_OOP_WORK_DEFN \ void do_oop(oop obj); \ diff --git a/src/hotspot/share/gc/g1/dirtyCardQueue.hpp b/src/hotspot/share/gc/g1/dirtyCardQueue.hpp index 8d4621426391e..81ea4834a3449 100644 --- a/src/hotspot/share/gc/g1/dirtyCardQueue.hpp +++ b/src/hotspot/share/gc/g1/dirtyCardQueue.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -30,6 +30,8 @@ class FreeIdSet; class DirtyCardQueueSet; +class JavaThread; +class Monitor; // A closure class for processing card table entries. Note that we don't // require these closure objects to be stack-allocated. diff --git a/src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp b/src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp index 2c7a1ebb9d144..505e2fb2345b1 100644 --- a/src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp +++ b/src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,7 @@ #include "gc/shared/satbMarkQueue.hpp" class G1CollectedHeap; +class Monitor; class JavaThread; class G1SATBMarkQueueSet : public SATBMarkQueueSet { diff --git a/src/hotspot/share/gc/shared/blockOffsetTable.hpp b/src/hotspot/share/gc/shared/blockOffsetTable.hpp index d798107147e5c..4fc307c8b432e 100644 --- a/src/hotspot/share/gc/shared/blockOffsetTable.hpp +++ b/src/hotspot/share/gc/shared/blockOffsetTable.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -265,6 +265,8 @@ class BlockOffsetSharedArray: public CHeapObj { HeapWord* address_for_index(size_t index) const; }; +class Space; + ////////////////////////////////////////////////////////////////////////// // The BlockOffsetArray whose subtypes use the BlockOffsetSharedArray. ////////////////////////////////////////////////////////////////////////// diff --git a/src/hotspot/share/gc/shared/ptrQueue.hpp b/src/hotspot/share/gc/shared/ptrQueue.hpp index 59f36b4179159..ae454a39a43fb 100644 --- a/src/hotspot/share/gc/shared/ptrQueue.hpp +++ b/src/hotspot/share/gc/shared/ptrQueue.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ #include "utilities/sizes.hpp" class Mutex; +class Monitor; // There are various techniques that require threads to be able to log // addresses. For example, a generational write barrier might log diff --git a/src/hotspot/share/gc/shared/satbMarkQueue.hpp b/src/hotspot/share/gc/shared/satbMarkQueue.hpp index 8755e18d58d75..a4578247975a1 100644 --- a/src/hotspot/share/gc/shared/satbMarkQueue.hpp +++ b/src/hotspot/share/gc/shared/satbMarkQueue.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ #include "memory/allocation.hpp" class JavaThread; +class Monitor; class SATBMarkQueueSet; // Base class for processing the contents of a SATB buffer. diff --git a/src/hotspot/share/interpreter/bytecodeTracer.hpp b/src/hotspot/share/interpreter/bytecodeTracer.hpp index dff27c66022c8..2e719b5fc72d8 100644 --- a/src/hotspot/share/interpreter/bytecodeTracer.hpp +++ b/src/hotspot/share/interpreter/bytecodeTracer.hpp @@ -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. * * 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 methodHandle; + class BytecodeClosure; class BytecodeTracer: AllStatic { private: diff --git a/src/hotspot/share/interpreter/oopMapCache.hpp b/src/hotspot/share/interpreter/oopMapCache.hpp index da035cb008984..3da8963a75225 100644 --- a/src/hotspot/share/interpreter/oopMapCache.hpp +++ b/src/hotspot/share/interpreter/oopMapCache.hpp @@ -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. * * 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; }; +class OopMapCacheEntry; class InterpreterOopMap: ResourceObj { friend class OopMapCache; diff --git a/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp b/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp index 0c4cb818e7c04..c9610d180a9d4 100644 --- a/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp +++ b/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -34,6 +34,8 @@ class JfrThreadData; class ObjectSample; class ObjectSampler; +class VMThread; + // Safepoint operation for emitting object sample events class EmitEventOperation : public VM_Operation { private: diff --git a/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp b/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp index c5de82e82b02e..edef2ff00c678 100644 --- a/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp +++ b/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -30,6 +30,7 @@ class BoolObjectClosure; class ObjectSampler; class OopClosure; +class JavaThread; class Thread; class LeakProfiler : public AllStatic { diff --git a/src/hotspot/share/logging/logDecorators.hpp b/src/hotspot/share/logging/logDecorators.hpp index 81f6d25942bb6..aa01cb34967e4 100644 --- a/src/hotspot/share/logging/logDecorators.hpp +++ b/src/hotspot/share/logging/logDecorators.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,8 @@ #include "utilities/globalDefinitions.hpp" +class outputStream; + // The list of available decorators: // 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) diff --git a/src/hotspot/share/memory/allocation.hpp b/src/hotspot/share/memory/allocation.hpp index 789750ca68b08..d88690cdeade3 100644 --- a/src/hotspot/share/memory/allocation.hpp +++ b/src/hotspot/share/memory/allocation.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -31,6 +31,8 @@ #include +class Thread; + class AllocFailStrategy { public: enum AllocFailEnum { EXIT_OOM, RETURN_NULL }; diff --git a/src/hotspot/share/memory/virtualspace.hpp b/src/hotspot/share/memory/virtualspace.hpp index 4dace9d88550f..b00a200274d4e 100644 --- a/src/hotspot/share/memory/virtualspace.hpp +++ b/src/hotspot/share/memory/virtualspace.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -27,6 +27,8 @@ #include "utilities/globalDefinitions.hpp" +class outputStream; + // ReservedSpace is a data structure for reserving a contiguous address range. class ReservedSpace { diff --git a/src/hotspot/share/oops/instanceKlass.hpp b/src/hotspot/share/oops/instanceKlass.hpp index 41568f71d84ec..85c6abc09d86b 100644 --- a/src/hotspot/share/oops/instanceKlass.hpp +++ b/src/hotspot/share/oops/instanceKlass.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -71,6 +71,8 @@ class JNIid; class JvmtiCachedClassFieldMap; class nmethodBucket; class SuperTypeClosure; +class OopMapCache; +class InterpreterOopMap; // This is used in iterators below. class FieldClosure: public StackObj { diff --git a/src/hotspot/share/oops/method.hpp b/src/hotspot/share/oops/method.hpp index 85e25a9b05214..9fa25712e949e 100644 --- a/src/hotspot/share/oops/method.hpp +++ b/src/hotspot/share/oops/method.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -66,6 +66,7 @@ class ConstMethod; class InlineTableSizes; class KlassSizeStats; class CompiledMethod; +class InterpreterOopMap; class Method : public Metadata { friend class VMStructs; diff --git a/src/hotspot/share/oops/oopsHierarchy.hpp b/src/hotspot/share/oops/oopsHierarchy.hpp index a9bb63800ea62..4444efeab06b4 100644 --- a/src/hotspot/share/oops/oopsHierarchy.hpp +++ b/src/hotspot/share/oops/oopsHierarchy.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -73,7 +73,7 @@ typedef class typeArrayOopDesc* typeArrayOop; class Thread; class PromotedObject; - +class oopDesc; class oop { oopDesc* _o; diff --git a/src/hotspot/share/runtime/compilationPolicy.hpp b/src/hotspot/share/runtime/compilationPolicy.hpp index b148d605ebf59..b85ee389dfa66 100644 --- a/src/hotspot/share/runtime/compilationPolicy.hpp +++ b/src/hotspot/share/runtime/compilationPolicy.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,7 @@ // interpreted). class CompileTask; class CompileQueue; +class RFrame; class CompilationPolicy : public CHeapObj { static CompilationPolicy* _policy; diff --git a/src/hotspot/share/runtime/deoptimization.hpp b/src/hotspot/share/runtime/deoptimization.hpp index 79b5964c0aa36..218f0b5ec4bd1 100644 --- a/src/hotspot/share/runtime/deoptimization.hpp +++ b/src/hotspot/share/runtime/deoptimization.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -30,8 +30,13 @@ class ProfileData; class vframeArray; +class MonitorInfo; class MonitorValue; class ObjectValue; +class ScopeValue; +class compiledVFrame; + +template class GrowableArray; class Deoptimization : AllStatic { friend class VMStructs; diff --git a/src/hotspot/share/runtime/flags/jvmFlag.hpp b/src/hotspot/share/runtime/flags/jvmFlag.hpp index 0a24c3fa44bfd..0759c3ea004ef 100644 --- a/src/hotspot/share/runtime/flags/jvmFlag.hpp +++ b/src/hotspot/share/runtime/flags/jvmFlag.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,8 @@ #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" +class outputStream; + // function type that will construct default range string typedef const char* (*RangeStrFunc)(void); diff --git a/src/hotspot/share/runtime/frame.hpp b/src/hotspot/share/runtime/frame.hpp index 5595b3e64d704..45acd634bbb4a 100644 --- a/src/hotspot/share/runtime/frame.hpp +++ b/src/hotspot/share/runtime/frame.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -39,6 +39,7 @@ typedef class BytecodeInterpreter* interpreterState; class CodeBlob; class FrameValues; class vframeArray; +class JavaCallWrapper; // A frame represents a physical stack frame (an activation). Frames diff --git a/src/hotspot/share/runtime/jniHandles.hpp b/src/hotspot/share/runtime/jniHandles.hpp index 4c8c9fc11485b..2f52b3e97ccdf 100644 --- a/src/hotspot/share/runtime/jniHandles.hpp +++ b/src/hotspot/share/runtime/jniHandles.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,9 @@ #include "memory/allocation.hpp" #include "runtime/handles.hpp" +class JavaThread; class OopStorage; +class Thread; // Interface for creating and resolving local/global JNI handles diff --git a/src/hotspot/share/runtime/os.hpp b/src/hotspot/share/runtime/os.hpp index 367d928e093ad..5a1aaf522207d 100644 --- a/src/hotspot/share/runtime/os.hpp +++ b/src/hotspot/share/runtime/os.hpp @@ -53,6 +53,8 @@ class Thread; class JavaThread; class NativeCallStack; class methodHandle; +class OSThread; +class Mutex; template class GrowableArray; diff --git a/src/hotspot/share/runtime/osThread.hpp b/src/hotspot/share/runtime/osThread.hpp index 4f8dc6dc2dfff..85f53ef418886 100644 --- a/src/hotspot/share/runtime/osThread.hpp +++ b/src/hotspot/share/runtime/osThread.hpp @@ -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. * * 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 }; +typedef int (*OSThreadStartFunc)(void*); + class OSThread: public CHeapObj { friend class VMStructs; friend class JVMCIVMStructs; diff --git a/src/hotspot/share/runtime/stackValue.hpp b/src/hotspot/share/runtime/stackValue.hpp index e0efef9a2d545..955db67707e61 100644 --- a/src/hotspot/share/runtime/stackValue.hpp +++ b/src/hotspot/share/runtime/stackValue.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,10 @@ #include "code/location.hpp" #include "runtime/handles.hpp" +class BasicLock; +class RegisterMap; +class ScopeValue; + class StackValue : public ResourceObj { private: BasicType _type; diff --git a/src/hotspot/share/runtime/thread.hpp b/src/hotspot/share/runtime/thread.hpp index 1ecee8d411248..d988236bbf352 100644 --- a/src/hotspot/share/runtime/thread.hpp +++ b/src/hotspot/share/runtime/thread.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -67,6 +67,7 @@ class ThreadStatistics; class ConcurrentLocksDump; class ParkEvent; class Parker; +class MonitorInfo; class ciEnv; class CompileThread; @@ -74,7 +75,10 @@ class CompileLog; class CompileTask; class CompileQueue; class CompilerCounters; + class vframeArray; +class vframe; +class javaVFrame; class DeoptResourceMark; class jvmtiDeferredLocalVariableSet; @@ -85,8 +89,7 @@ class ICRefillVerifier; class IdealGraphPrinter; class Metadata; -template class ChunkedList; -typedef ChunkedList MetadataOnStackBuffer; +class ResourceArea; DEBUG_ONLY(class ResourceMark;) diff --git a/src/hotspot/share/utilities/concurrentHashTable.hpp b/src/hotspot/share/utilities/concurrentHashTable.hpp index 0931bdde122a9..3277f16fcbe9b 100644 --- a/src/hotspot/share/utilities/concurrentHashTable.hpp +++ b/src/hotspot/share/utilities/concurrentHashTable.hpp @@ -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. * * 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. class Thread; +class Mutex; template class ConcurrentHashTable : public CHeapObj { diff --git a/src/hotspot/share/utilities/constantTag.hpp b/src/hotspot/share/utilities/constantTag.hpp index 54562ab72f6e7..945988db59df1 100644 --- a/src/hotspot/share/utilities/constantTag.hpp +++ b/src/hotspot/share/utilities/constantTag.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,8 +28,10 @@ #include "jvm.h" #include "utilities/globalDefinitions.hpp" -// constant tags in Java .class files +class outputStream; + +// constant tags in Java .class files enum { // See jvm.h for shared JVM_CONSTANT_XXX tags diff --git a/src/hotspot/share/utilities/exceptions.hpp b/src/hotspot/share/utilities/exceptions.hpp index 7b2328b051d0f..a89780a6d643c 100644 --- a/src/hotspot/share/utilities/exceptions.hpp +++ b/src/hotspot/share/utilities/exceptions.hpp @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -52,6 +52,7 @@ class Thread; class Handle; class Symbol; class JavaCallArguments; +class methodHandle; // 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 diff --git a/src/hotspot/share/utilities/globalDefinitions.hpp b/src/hotspot/share/utilities/globalDefinitions.hpp index cac8aafa365a0..2a355b832a1ae 100644 --- a/src/hotspot/share/utilities/globalDefinitions.hpp +++ b/src/hotspot/share/utilities/globalDefinitions.hpp @@ -820,87 +820,6 @@ enum JavaThreadState { _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