# HG changeset patch # User coleenp # Date 1521026839 14400 # Node ID 2956d0ece7a9c945f9339f538dc9bb5cc56a2687 # Parent 02076019c25d5dc97afbee6c27125adb4ca73a2a 8199282: Remove ValueObj class for allocation subclassing for gc code Reviewed-by: stefank, kbarrett diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/adlc/arena.hpp --- a/src/hotspot/share/adlc/arena.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/adlc/arena.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -25,17 +25,12 @@ #ifndef SHARE_VM_ADLC_ARENA_HPP #define SHARE_VM_ADLC_ARENA_HPP -// All classes in the virtual machine must be subclassed -// by one of the following allocation classes: -// +// All classes in adlc may be derived +// from one of the following allocation classes: // -// For objects allocated in the C-heap (managed by: free & malloc). +// For objects allocated in the C-heap (managed by: malloc & free). // - CHeapObj // -// -// For embedded objects. -// - ValueObj -// // For classes used as name spaces. // - AllStatic // @@ -48,15 +43,6 @@ }; -// Base class for objects used as value objects. -// Calling new or delete will result in fatal error. - -class ValueObj { - public: - void* operator new(size_t size) throw(); - void operator delete(void* p); -}; - // Base class for classes that constitute name spaces. class AllStatic { diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/code/relocInfo.hpp --- a/src/hotspot/share/code/relocInfo.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/code/relocInfo.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -25,7 +25,6 @@ #ifndef SHARE_VM_CODE_RELOCINFO_HPP #define SHARE_VM_CODE_RELOCINFO_HPP -#include "memory/allocation.hpp" #include "runtime/os.hpp" #include "utilities/macros.hpp" @@ -48,7 +47,7 @@ // oops in the code stream (strings, class loaders) // Also, the source of relocation specs (oop_Relocation::spec, ...). // RelocationHolder -// A ValueObj type which acts as a union holding a Relocation object. +// A value type which acts as a union holding a Relocation object. // Represents a relocation spec passed into a CodeBuffer during assembly. // RelocIterator // A StackObj which iterates over the relocations associated with diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/cms/allocationStats.hpp --- a/src/hotspot/share/gc/cms/allocationStats.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/cms/allocationStats.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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,11 +27,10 @@ #include "gc/shared/gcUtil.hpp" #include "logging/log.hpp" -#include "memory/allocation.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" -class AllocationStats VALUE_OBJ_CLASS_SPEC { +class AllocationStats { // A duration threshold (in ms) used to filter // possibly unreliable samples. static float _threshold; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp --- a/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -48,7 +48,7 @@ class ObjectClosureCareful; class Klass; -class LinearAllocBlock VALUE_OBJ_CLASS_SPEC { +class LinearAllocBlock { public: LinearAllocBlock() : _ptr(0), _word_size(0), _refillSize(0), _allocation_size_limit(0) {} diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp --- a/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -79,7 +79,7 @@ // we have _shifter == 0. and for the mod union table we have // shifter == CardTable::card_shift - LogHeapWordSize.) // XXX 64-bit issues in BitMap? -class CMSBitMap VALUE_OBJ_CLASS_SPEC { +class CMSBitMap { friend class VMStructs; HeapWord* _bmStartWord; // base address of range covered by map @@ -331,7 +331,7 @@ // Timing, allocation and promotion statistics for gc scheduling and incremental // mode pacing. Most statistics are exponential averages. // -class CMSStats VALUE_OBJ_CLASS_SPEC { +class CMSStats { private: ConcurrentMarkSweepGeneration* const _cms_gen; // The cms (old) gen. diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/cms/freeChunk.hpp --- a/src/hotspot/share/gc/cms/freeChunk.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/cms/freeChunk.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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 @@ -25,7 +25,6 @@ #ifndef SHARE_VM_GC_CMS_FREECHUNK_HPP #define SHARE_VM_GC_CMS_FREECHUNK_HPP -#include "memory/allocation.hpp" #include "memory/memRegion.hpp" #include "oops/markOop.hpp" #include "runtime/mutex.hpp" @@ -55,7 +54,7 @@ // but are not part of the free list and should not be coalesced into larger // free blocks. These free blocks have their two LSB's set. -class FreeChunk VALUE_OBJ_CLASS_SPEC { +class FreeChunk { friend class VMStructs; // For 64 bit compressed oops, the markOop encodes both the size and the // indication that this is a FreeChunk and not an object. diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/cms/promotionInfo.hpp --- a/src/hotspot/share/gc/cms/promotionInfo.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/cms/promotionInfo.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2018, 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,12 +26,11 @@ #define SHARE_VM_GC_CMS_PROMOTIONINFO_HPP #include "gc/cms/freeChunk.hpp" -#include "memory/allocation.hpp" // Forward declarations class CompactibleFreeListSpace; -class PromotedObject VALUE_OBJ_CLASS_SPEC { +class PromotedObject { private: enum { promoted_mask = right_n_bits(2), // i.e. 0x3 @@ -114,7 +113,7 @@ void print() const { print_on(tty); } }; -class PromotionInfo VALUE_OBJ_CLASS_SPEC { +class PromotionInfo { bool _tracking; // set if tracking CompactibleFreeListSpace* _space; // the space to which this belongs PromotedObject* _promoHead; // head of list of promoted objects diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1AllocRegion.hpp --- a/src/hotspot/share/gc/g1/g1AllocRegion.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1AllocRegion.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2018, 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 @@ -38,7 +38,7 @@ // and a lock will need to be taken when the active region needs to be // replaced. -class G1AllocRegion VALUE_OBJ_CLASS_SPEC { +class G1AllocRegion { private: // The active allocating region we are currently allocating out diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1BiasedArray.hpp --- a/src/hotspot/share/gc/g1/g1BiasedArray.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1BiasedArray.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2016, 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. * * This code is free software; you can redistribute it and/or modify it @@ -25,14 +25,13 @@ #ifndef SHARE_VM_GC_G1_G1BIASEDARRAY_HPP #define SHARE_VM_GC_G1_G1BIASEDARRAY_HPP -#include "memory/allocation.hpp" #include "memory/memRegion.hpp" #include "utilities/debug.hpp" // Implements the common base functionality for arrays that contain provisions // for accessing its elements using a biased index. // The element type is defined by the instantiating the template. -class G1BiasedMappedArrayBase VALUE_OBJ_CLASS_SPEC { +class G1BiasedMappedArrayBase { friend class VMStructs; public: typedef size_t idx_t; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp --- a/src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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 @@ -109,7 +109,7 @@ } }; -class G1BlockOffsetTablePart VALUE_OBJ_CLASS_SPEC { +class G1BlockOffsetTablePart { friend class G1BlockOffsetTable; friend class VMStructs; private: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1CardLiveData.cpp --- a/src/hotspot/share/gc/g1/g1CardLiveData.cpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1CardLiveData.cpp Wed Mar 14 07:27:19 2018 -0400 @@ -94,7 +94,7 @@ // Helper class that provides functionality to generate the Live Data Count // information. -class G1CardLiveDataHelper VALUE_OBJ_CLASS_SPEC { +class G1CardLiveDataHelper { private: BitMapView _region_bm; BitMapView _card_bm; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1CardLiveData.hpp --- a/src/hotspot/share/gc/g1/g1CardLiveData.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1CardLiveData.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * 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,7 +37,7 @@ // Can be used for various purposes, like as remembered set for completely // coarsened remembered sets, scrubbing remembered sets or estimating liveness. // This information is created as part of the concurrent marking cycle. -class G1CardLiveData VALUE_OBJ_CLASS_SPEC { +class G1CardLiveData { friend class G1CardLiveDataHelper; friend class G1VerifyCardLiveDataTask; private: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1CodeCacheRemSet.hpp --- a/src/hotspot/share/gc/g1/g1CodeCacheRemSet.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1CodeCacheRemSet.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, 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. * * This code is free software; you can redistribute it and/or modify it @@ -25,8 +25,6 @@ #ifndef SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP #define SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP -#include "memory/allocation.hpp" - class CodeBlobClosure; class G1CodeRootSetTable; class HeapRegion; @@ -34,7 +32,7 @@ // Implements storage for a set of code roots. // All methods that modify the set are not thread-safe except if otherwise noted. -class G1CodeRootSet VALUE_OBJ_CLASS_SPEC { +class G1CodeRootSet { friend class G1CodeRootSetTest; private: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1CollectedHeap.cpp --- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Wed Mar 14 07:27:19 2018 -0400 @@ -3391,7 +3391,7 @@ size_t symbols_removed() const { return (size_t)_symbols_removed; } }; -class G1CodeCacheUnloadingTask VALUE_OBJ_CLASS_SPEC { +class G1CodeCacheUnloadingTask { private: static Monitor* _lock; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1CollectionSet.hpp --- a/src/hotspot/share/gc/g1/g1CollectionSet.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1CollectionSet.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * 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,7 +26,6 @@ #define SHARE_VM_GC_G1_G1COLLECTIONSET_HPP #include "gc/g1/collectionSetChooser.hpp" -#include "memory/allocation.hpp" #include "utilities/debug.hpp" #include "utilities/globalDefinitions.hpp" @@ -37,7 +36,7 @@ class G1SurvivorRegions; class HeapRegion; -class G1CollectionSet VALUE_OBJ_CLASS_SPEC { +class G1CollectionSet { G1CollectedHeap* _g1; G1Policy* _policy; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1CollectorState.hpp --- a/src/hotspot/share/gc/g1/g1CollectorState.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1CollectorState.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -26,12 +26,11 @@ #define SHARE_VM_GC_G1_G1COLLECTORSTATE_HPP #include "gc/g1/g1YCTypes.hpp" -#include "memory/allocation.hpp" #include "utilities/globalDefinitions.hpp" // Various state variables that indicate // the phase of the G1 collection. -class G1CollectorState VALUE_OBJ_CLASS_SPEC { +class G1CollectorState { // Indicates whether we are in "full young" or "mixed" GC mode. bool _gcs_are_young; // Was the last GC "young"? diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1ConcurrentMark.cpp --- a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Wed Mar 14 07:27:19 2018 -0400 @@ -1859,7 +1859,7 @@ } #ifndef PRODUCT -class VerifyNoCSetOops VALUE_OBJ_CLASS_SPEC { +class VerifyNoCSetOops { private: G1CollectedHeap* _g1h; const char* _phase; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1ConcurrentMark.hpp --- a/src/hotspot/share/gc/g1/g1ConcurrentMark.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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 "gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp" #include "gc/g1/heapRegionSet.hpp" #include "gc/shared/taskqueue.hpp" +#include "memory/allocation.hpp" class ConcurrentGCTimer; class ConcurrentMarkThread; @@ -47,7 +48,7 @@ // This is a container class for either an oop or a continuation address for // mark stack entries. Both are pushed onto the mark stack. -class G1TaskQueueEntry VALUE_OBJ_CLASS_SPEC { +class G1TaskQueueEntry { private: void* _holder; @@ -127,7 +128,7 @@ // Memory management is done using a mix of tracking a high water-mark indicating // that all chunks at a lower address are valid chunks, and a singly linked free // list connecting all empty chunks. -class G1CMMarkStack VALUE_OBJ_CLASS_SPEC { +class G1CMMarkStack { public: // Number of TaskQueueEntries that can fit in a single chunk. static const size_t EntriesPerChunk = 1024 - 1 /* One reference for the next pointer */; @@ -227,7 +228,7 @@ // Currently, we only support root region scanning once (at the start // of the marking cycle) and the root regions are all the survivor // regions populated during the initial-mark pause. -class G1CMRootRegions VALUE_OBJ_CLASS_SPEC { +class G1CMRootRegions { private: const G1SurvivorRegions* _survivors; G1ConcurrentMark* _cm; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp --- a/src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, 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,7 +26,6 @@ #define SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP #include "gc/g1/g1RegionToSpaceMapper.hpp" -#include "memory/allocation.hpp" #include "memory/memRegion.hpp" #include "oops/oopsHierarchy.hpp" #include "utilities/bitMap.hpp" @@ -39,7 +38,7 @@ class HeapRegion; // Closure for iteration over bitmaps -class G1CMBitMapClosure VALUE_OBJ_CLASS_SPEC { +class G1CMBitMapClosure { private: G1ConcurrentMark* const _cm; G1CMTask* const _task; @@ -62,7 +61,7 @@ // A generic mark bitmap for concurrent marking. This is essentially a wrapper // around the BitMap class that is based on HeapWords, with one bit per (1 << _shifter) HeapWords. -class G1CMBitMap VALUE_OBJ_CLASS_SPEC { +class G1CMBitMap { private: MemRegion _covered; // The heap area covered by this bitmap. diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp --- a/src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -26,7 +26,6 @@ #define SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP #include "oops/oopsHierarchy.hpp" -#include "memory/allocation.hpp" class G1CMTask; @@ -34,7 +33,7 @@ // Instead of pushing large object arrays, we push continuations onto the // mark stack. These continuations are identified by having their LSB set. // This allows incremental processing of large objects. -class G1CMObjArrayProcessor VALUE_OBJ_CLASS_SPEC { +class G1CMObjArrayProcessor { private: // Reference to the task for doing the actual work. G1CMTask* _task; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp --- a/src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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,7 +37,7 @@ // Helper class for refinement thread management. Used to start, stop and // iterate over them. -class G1ConcurrentRefineThreadControl VALUE_OBJ_CLASS_SPEC { +class G1ConcurrentRefineThreadControl { G1ConcurrentRefine* _cr; G1ConcurrentRefineThread** _threads; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1EdenRegions.hpp --- a/src/hotspot/share/gc/g1/g1EdenRegions.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1EdenRegions.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -26,11 +26,10 @@ #define SHARE_VM_GC_G1_G1EDENREGIONS_HPP #include "gc/g1/heapRegion.hpp" -#include "memory/allocation.hpp" #include "runtime/globals.hpp" #include "utilities/debug.hpp" -class G1EdenRegions VALUE_OBJ_CLASS_SPEC { +class G1EdenRegions { private: int _length; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1HRPrinter.hpp --- a/src/hotspot/share/gc/g1/g1HRPrinter.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1HRPrinter.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2018, 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,11 +27,10 @@ #include "gc/g1/heapRegion.hpp" #include "logging/log.hpp" -#include "memory/allocation.hpp" #define SKIP_RETIRED_FULL_REGIONS 1 -class G1HRPrinter VALUE_OBJ_CLASS_SPEC { +class G1HRPrinter { private: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1InitialMarkToMixedTimeTracker.hpp --- a/src/hotspot/share/gc/g1/g1InitialMarkToMixedTimeTracker.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1InitialMarkToMixedTimeTracker.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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 @@ -32,7 +32,7 @@ // After calling the initial mark/mixed gc notifications, the result can be // obtained in last_marking_time() once, after which the tracking resets. // Any pauses recorded by add_pause() will be subtracted from that results. -class G1InitialMarkToMixedTimeTracker VALUE_OBJ_CLASS_SPEC { +class G1InitialMarkToMixedTimeTracker { private: bool _active; double _initial_mark_end_time; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1MMUTracker.hpp --- a/src/hotspot/share/gc/g1/g1MMUTracker.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1MMUTracker.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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 @@ -81,7 +81,7 @@ } }; -class G1MMUTrackerQueueElem VALUE_OBJ_CLASS_SPEC { +class G1MMUTrackerQueueElem { private: double _start_time; double _end_time; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp --- a/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, 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. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,6 @@ #ifndef SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP #define SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP -#include "memory/allocation.hpp" #include "memory/memRegion.hpp" #include "memory/virtualspace.hpp" #include "utilities/align.hpp" @@ -45,7 +44,7 @@ // be committed using OS small pages. // The implementation gives an error when trying to commit or uncommit pages that // have already been committed or uncommitted. -class G1PageBasedVirtualSpace VALUE_OBJ_CLASS_SPEC { +class G1PageBasedVirtualSpace { friend class VMStructs; private: // Reserved area addresses. diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1Policy.cpp --- a/src/hotspot/share/gc/g1/g1Policy.cpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1Policy.cpp Wed Mar 14 07:27:19 2018 -0400 @@ -97,7 +97,7 @@ phase_times()->note_gc_start(); } -class G1YoungLengthPredictor VALUE_OBJ_CLASS_SPEC { +class G1YoungLengthPredictor { const bool _during_cm; const double _base_time_ms; const double _base_free_regions; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1Predictions.hpp --- a/src/hotspot/share/gc/g1/g1Predictions.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1Predictions.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -28,7 +28,7 @@ #include "utilities/numberSeq.hpp" // Utility class containing various helper methods for prediction. -class G1Predictions VALUE_OBJ_CLASS_SPEC { +class G1Predictions { private: double _sigma; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1RegionToSpaceMapper.hpp --- a/src/hotspot/share/gc/g1/g1RegionToSpaceMapper.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1RegionToSpaceMapper.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, 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. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ class WorkGang; -class G1MappingChangedListener VALUE_OBJ_CLASS_SPEC { +class G1MappingChangedListener { public: // Fired after commit of the memory, i.e. the memory this listener is registered // for can be accessed. diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1RemSetSummary.cpp --- a/src/hotspot/share/gc/g1/g1RemSetSummary.cpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1RemSetSummary.cpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -145,7 +145,7 @@ _sampling_thread_vtime = other->sampling_thread_vtime() - _sampling_thread_vtime; } -class RegionTypeCounter VALUE_OBJ_CLASS_SPEC { +class RegionTypeCounter { private: const char* _name; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1RemSetSummary.hpp --- a/src/hotspot/share/gc/g1/g1RemSetSummary.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1RemSetSummary.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ // A G1RemSetSummary manages statistical information about the G1RemSet -class G1RemSetSummary VALUE_OBJ_CLASS_SPEC { +class G1RemSetSummary { private: friend class GetRSThreadVTimeClosure; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1SharedClosures.hpp --- a/src/hotspot/share/gc/g1/g1SharedClosures.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1SharedClosures.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -32,7 +32,7 @@ // Simple holder object for a complete set of closures used by the G1 evacuation code. template -class G1SharedClosures VALUE_OBJ_CLASS_SPEC { +class G1SharedClosures { public: G1ParCopyClosure _oops; G1ParCopyClosure _oops_in_cld; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1SurvivorRegions.hpp --- a/src/hotspot/share/gc/g1/g1SurvivorRegions.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1SurvivorRegions.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -25,14 +25,13 @@ #ifndef SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP #define SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP -#include "memory/allocation.hpp" #include "runtime/globals.hpp" template class GrowableArray; class HeapRegion; -class G1SurvivorRegions VALUE_OBJ_CLASS_SPEC { +class G1SurvivorRegions { private: GrowableArray* _regions; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/g1YoungGenSizer.hpp --- a/src/hotspot/share/gc/g1/g1YoungGenSizer.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/g1YoungGenSizer.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,7 @@ #ifndef SHARE_VM_GC_G1_G1YOUNGGENSIZER_HPP #define SHARE_VM_GC_G1_G1YOUNGGENSIZER_HPP -#include "memory/allocation.hpp" +#include "utilities/globalDefinitions.hpp" // There are three command line options related to the young gen size: // NewSize, MaxNewSize and NewRatio (There is also -Xmn, but that is @@ -63,7 +63,7 @@ // // NewSize and MaxNewSize override NewRatio. So, NewRatio is ignored if it is // combined with either NewSize or MaxNewSize. (A warning message is printed.) -class G1YoungGenSizer VALUE_OBJ_CLASS_SPEC { +class G1YoungGenSizer { private: enum SizerKind { SizerDefaults, diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/heapRegionRemSet.hpp --- a/src/hotspot/share/gc/g1/heapRegionRemSet.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/heapRegionRemSet.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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,7 +71,7 @@ // is represented. If a deleted PRT is re-used, a thread adding a bit, // thinking the PRT is for a different region, does no harm. -class OtherRegionsTable VALUE_OBJ_CLASS_SPEC { +class OtherRegionsTable { friend class HeapRegionRemSetIterator; G1CollectedHeap* _g1h; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/heapRegionSet.hpp --- a/src/hotspot/share/gc/g1/heapRegionSet.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/heapRegionSet.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2018, 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 @@ -68,7 +68,7 @@ // (e.g., length, region num, used bytes sum) plus any shared // functionality (e.g., verification). -class HeapRegionSetBase VALUE_OBJ_CLASS_SPEC { +class HeapRegionSetBase { friend class VMStructs; private: bool _is_humongous; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/heapRegionType.hpp --- a/src/hotspot/share/gc/g1/heapRegionType.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/heapRegionType.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -26,12 +26,11 @@ #define SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP #include "gc/g1/g1HeapRegionTraceType.hpp" -#include "memory/allocation.hpp" #define hrt_assert_is_valid(tag) \ assert(is_valid((tag)), "invalid HR type: %u", (uint) (tag)) -class HeapRegionType VALUE_OBJ_CLASS_SPEC { +class HeapRegionType { friend class VMStructs; private: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/ptrQueue.hpp --- a/src/hotspot/share/gc/g1/ptrQueue.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/ptrQueue.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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 @@ -25,7 +25,6 @@ #ifndef SHARE_VM_GC_G1_PTRQUEUE_HPP #define SHARE_VM_GC_G1_PTRQUEUE_HPP -#include "memory/allocation.hpp" #include "utilities/align.hpp" #include "utilities/sizes.hpp" @@ -36,7 +35,7 @@ class BufferNode; class PtrQueueSet; -class PtrQueue VALUE_OBJ_CLASS_SPEC { +class PtrQueue { friend class VMStructs; // Noncopyable - not defined. @@ -257,7 +256,7 @@ // In particular, the individual queues allocate buffers from this shared // set, and return completed buffers to the set. // All these variables are are protected by the TLOQ_CBL_mon. XXX ??? -class PtrQueueSet VALUE_OBJ_CLASS_SPEC { +class PtrQueueSet { private: // The size of all buffers in the set. size_t _buffer_size; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/g1/sparsePRT.hpp --- a/src/hotspot/share/gc/g1/sparsePRT.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/g1/sparsePRT.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2018, 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 @@ -186,8 +186,8 @@ void print(); }; -// ValueObj because will be embedded in HRRS iterator. -class RSHashTableIter VALUE_OBJ_CLASS_SPEC { +// This is embedded in HRRS iterator. +class RSHashTableIter { // Return value indicating "invalid/no card". static const int NoCardFound = -1; @@ -222,7 +222,7 @@ class SparsePRTIter; class SparsePRTCleanupTask; -class SparsePRT VALUE_OBJ_CLASS_SPEC { +class SparsePRT { friend class SparsePRTCleanupTask; // Iterations are done on the _cur hash table, since they only need to @@ -334,7 +334,7 @@ // to be processed at the beginning of the next GC pause. This lists // are concatenated into the single expanded list at the end of the // cleanup pause. -class SparsePRTCleanupTask VALUE_OBJ_CLASS_SPEC { +class SparsePRTCleanupTask { private: SparsePRT* _head; SparsePRT* _tail; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/parallel/gcTaskManager.hpp --- a/src/hotspot/share/gc/parallel/gcTaskManager.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/parallel/gcTaskManager.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2018, 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 @@ -272,7 +272,7 @@ ~SynchronizedGCTaskQueue(); }; -class WaitHelper VALUE_OBJ_CLASS_SPEC { +class WaitHelper { private: Monitor* _monitor; volatile bool _should_wait; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/parallel/psPromotionManager.hpp --- a/src/hotspot/share/gc/parallel/psPromotionManager.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/parallel/psPromotionManager.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2018, 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,7 +30,6 @@ #include "gc/shared/gcTrace.hpp" #include "gc/shared/preservedMarks.hpp" #include "gc/shared/taskqueue.hpp" -#include "memory/allocation.hpp" #include "memory/padded.hpp" #include "utilities/globalDefinitions.hpp" @@ -50,7 +49,7 @@ class PSOldGen; class ParCompactionManager; -class PSPromotionManager VALUE_OBJ_CLASS_SPEC { +class PSPromotionManager { friend class PSScavenge; friend class PSRefProcTaskExecutor; private: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/serial/markSweep.hpp --- a/src/hotspot/share/gc/serial/markSweep.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/serial/markSweep.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -200,7 +200,7 @@ debug_only(virtual bool should_verify_oops() { return false; }) }; -class PreservedMark VALUE_OBJ_CLASS_SPEC { +class PreservedMark { private: oop _obj; markOop _mark; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/ageTable.hpp --- a/src/hotspot/share/gc/shared/ageTable.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/ageTable.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -29,14 +29,14 @@ #include "oops/oop.hpp" #include "runtime/perfData.hpp" -/* Copyright (c) 1992, 2016, Oracle and/or its affiliates, and Stanford University. +/* Copyright (c) 1992, 2018, Oracle and/or its affiliates, and Stanford University. See the LICENSE file for license information. */ // Age table for adaptive feedback-mediated tenuring (scavenging) // // Note: all sizes are in oops -class AgeTable VALUE_OBJ_CLASS_SPEC { +class AgeTable { friend class VMStructs; public: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/blockOffsetTable.hpp --- a/src/hotspot/share/gc/shared/blockOffsetTable.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/blockOffsetTable.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ #define SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_HPP #include "gc/shared/memset_with_concurrent_readers.hpp" +#include "memory/allocation.hpp" #include "memory/memRegion.hpp" #include "memory/virtualspace.hpp" #include "runtime/globals.hpp" @@ -77,7 +78,7 @@ ////////////////////////////////////////////////////////////////////////// // The BlockOffsetTable "interface" ////////////////////////////////////////////////////////////////////////// -class BlockOffsetTable VALUE_OBJ_CLASS_SPEC { +class BlockOffsetTable { friend class VMStructs; protected: // These members describe the region covered by the table. diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp --- a/src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, 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 @@ -38,7 +38,7 @@ static const int IDLE_PHASE = 1; // Concurrent processing is idle. // Stack of phase managers. - class Stack VALUE_OBJ_CLASS_SPEC { + class Stack { friend class ConcurrentGCPhaseManager; public: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/gcTrace.hpp --- a/src/hotspot/share/gc/shared/gcTrace.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/gcTrace.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2018, 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,7 +30,6 @@ #include "gc/shared/gcId.hpp" #include "gc/shared/gcName.hpp" #include "gc/shared/gcWhen.hpp" -#include "memory/allocation.hpp" #include "memory/metaspace.hpp" #include "memory/referenceType.hpp" #include "utilities/macros.hpp" @@ -50,7 +49,7 @@ class TimePartitions; class BoolObjectClosure; -class SharedGCInfo VALUE_OBJ_CLASS_SPEC { +class SharedGCInfo { private: GCName _name; GCCause::Cause _cause; @@ -88,7 +87,7 @@ const Tickspan longest_pause() const { return _longest_pause; } }; -class ParallelOldGCInfo VALUE_OBJ_CLASS_SPEC { +class ParallelOldGCInfo { void* _dense_prefix; public: ParallelOldGCInfo() : _dense_prefix(NULL) {} @@ -100,7 +99,7 @@ #if INCLUDE_ALL_GCS -class G1YoungGCInfo VALUE_OBJ_CLASS_SPEC { +class G1YoungGCInfo { G1YCType _type; public: G1YoungGCInfo() : _type(G1YCTypeEndSentinel) {} diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/oopStorage.hpp --- a/src/hotspot/share/gc/shared/oopStorage.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/oopStorage.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -175,7 +175,7 @@ class Block; // Forward decl; defined in .inline.hpp file. class BlockList; // Forward decl for BlockEntry friend decl. - class BlockEntry VALUE_OBJ_CLASS_SPEC { + class BlockEntry { friend class BlockList; // Members are mutable, and we deal exclusively with pointers to @@ -193,7 +193,7 @@ ~BlockEntry(); }; - class BlockList VALUE_OBJ_CLASS_SPEC { + class BlockList { const Block* _head; const Block* _tail; const BlockEntry& (*_get_entry)(const Block& block); diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/oopStorage.inline.hpp --- a/src/hotspot/share/gc/shared/oopStorage.inline.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/oopStorage.inline.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -26,7 +26,6 @@ #define SHARE_GC_SHARED_OOPSTORAGE_INLINE_HPP #include "gc/shared/oopStorage.hpp" -#include "memory/allocation.hpp" #include "metaprogramming/conditional.hpp" #include "metaprogramming/isConst.hpp" #include "oops/oop.hpp" @@ -127,7 +126,7 @@ } template -class OopStorage::OopFn VALUE_OBJ_CLASS_SPEC { +class OopStorage::OopFn { public: explicit OopFn(Closure* cl) : _cl(cl) {} @@ -147,7 +146,7 @@ } template -class OopStorage::IfAliveFn VALUE_OBJ_CLASS_SPEC { +class OopStorage::IfAliveFn { public: IfAliveFn(IsAlive* is_alive, F f) : _is_alive(is_alive), _f(f) {} @@ -175,7 +174,7 @@ } template -class OopStorage::SkipNullFn VALUE_OBJ_CLASS_SPEC { +class OopStorage::SkipNullFn { public: SkipNullFn(F f) : _f(f) {} diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/oopStorageParState.hpp --- a/src/hotspot/share/gc/shared/oopStorageParState.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/oopStorageParState.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -26,7 +26,6 @@ #define SHARE_GC_SHARED_OOPSTORAGEPARSTATE_HPP #include "gc/shared/oopStorage.hpp" -#include "memory/allocation.hpp" #include "utilities/macros.hpp" #if INCLUDE_ALL_GCS @@ -140,7 +139,7 @@ // If is_alive->do_object_b(*p) is false, then cl will not be // invoked on p. -class OopStorage::BasicParState VALUE_OBJ_CLASS_SPEC { +class OopStorage::BasicParState { OopStorage* _storage; void* volatile _next_block; bool _concurrent; @@ -164,7 +163,7 @@ }; template -class OopStorage::ParState VALUE_OBJ_CLASS_SPEC { +class OopStorage::ParState { BasicParState _basic_state; public: @@ -178,7 +177,7 @@ }; template<> -class OopStorage::ParState VALUE_OBJ_CLASS_SPEC { +class OopStorage::ParState { BasicParState _basic_state; public: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/oopStorageParState.inline.hpp --- a/src/hotspot/share/gc/shared/oopStorageParState.inline.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/oopStorageParState.inline.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -27,14 +27,13 @@ #include "gc/shared/oopStorage.inline.hpp" #include "gc/shared/oopStorageParState.hpp" -#include "memory/allocation.hpp" #include "metaprogramming/conditional.hpp" #include "utilities/macros.hpp" #if INCLUDE_ALL_GCS template -class OopStorage::BasicParState::AlwaysTrueFn VALUE_OBJ_CLASS_SPEC { +class OopStorage::BasicParState::AlwaysTrueFn { F _f; public: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/preservedMarks.hpp --- a/src/hotspot/share/gc/shared/preservedMarks.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/preservedMarks.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -33,9 +33,9 @@ class PreservedMarksSet; class WorkGang; -class PreservedMarks VALUE_OBJ_CLASS_SPEC { +class PreservedMarks { private: - class OopAndMarkOop VALUE_OBJ_CLASS_SPEC { + class OopAndMarkOop { private: oop _o; markOop _m; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/gc/shared/workgroup.hpp --- a/src/hotspot/share/gc/shared/workgroup.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/gc/shared/workgroup.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -54,7 +54,7 @@ // An abstract task to be worked on by a gang. // You subclass this to supply your own work() method -class AbstractGangTask VALUE_OBJ_CLASS_SPEC { +class AbstractGangTask { const char* _name; const uint _gc_id; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/memory/allocation.cpp --- a/src/hotspot/share/memory/allocation.cpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/memory/allocation.cpp Wed Mar 14 07:27:19 2018 -0400 @@ -45,11 +45,6 @@ void* StackObj::operator new [](size_t size) throw() { ShouldNotCallThis(); return 0; } void StackObj::operator delete [](void* p) { ShouldNotCallThis(); } -void* _ValueObj::operator new(size_t size) throw() { ShouldNotCallThis(); return 0; } -void _ValueObj::operator delete(void* p) { ShouldNotCallThis(); } -void* _ValueObj::operator new [](size_t size) throw() { ShouldNotCallThis(); return 0; } -void _ValueObj::operator delete [](void* p) { ShouldNotCallThis(); } - void* MetaspaceObj::operator new(size_t size, ClassLoaderData* loader_data, size_t word_size, MetaspaceObj::Type type, TRAPS) throw() { diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/memory/allocation.hpp --- a/src/hotspot/share/memory/allocation.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/memory/allocation.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -37,21 +37,24 @@ }; typedef AllocFailStrategy::AllocFailEnum AllocFailType; -// All classes in the virtual machine must be subclassed -// by one of the following allocation classes: +// The virtual machine must never call one of the implicitly declared +// global allocation or deletion functions. (Such calls may result in +// link-time or run-time errors.) For convenience and documentation of +// intended use, classes in the virtual machine may be derived from one +// of the following allocation classes, some of which define allocation +// and deletion functions. +// Note: std::malloc and std::free should never called directly. + // // For objects allocated in the resource area (see resourceArea.hpp). // - ResourceObj // -// For objects allocated in the C-heap (managed by: free & malloc). +// For objects allocated in the C-heap (managed by: free & malloc and tracked with NMT) // - CHeapObj // // For objects allocated on the stack. // - StackObj // -// For embedded objects. -// - ValueObj -// // For classes used as name spaces. // - AllStatic // @@ -84,15 +87,10 @@ // char* AllocateHeap(size_t size, const char* name); // void FreeHeap(void* p); // -// C-heap allocation can be traced using +PrintHeapAllocation. -// malloc and free should therefore never called directly. - -// Base class for objects allocated in the C-heap. // In non product mode we introduce a super class for all allocation classes // that supports printing. -// We avoid the superclass in product mode since some C++ compilers add -// a word overhead for empty super classes. +// We avoid the superclass in product mode to save space. #ifdef PRODUCT #define ALLOCATION_SUPER_CLASS_SPEC @@ -188,31 +186,6 @@ void operator delete [](void* p); }; -// Base class for objects used as value objects. -// Calling new or delete will result in fatal error. -// -// Portability note: Certain compilers (e.g. gcc) will -// always make classes bigger if it has a superclass, even -// if the superclass does not have any virtual methods or -// instance fields. The HotSpot implementation relies on this -// not to happen. So never make a ValueObj class a direct subclass -// like this: -// -// class A { -// ... -// } -// -// be defined as a an empty string "". -// -class _ValueObj { - private: - void* operator new(size_t size) throw(); - void operator delete(void* p); - void* operator new [](size_t size) throw(); - void operator delete [](void* p); -}; - - // Base class for objects stored in Metaspace. // Calling delete will result in fatal error. // diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/memory/memRegion.hpp --- a/src/hotspot/share/memory/memRegion.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/memory/memRegion.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -34,7 +34,7 @@ // Note that MemRegions are passed by value, not by reference. // The intent is that they remain very small and contain no -// objects. _ValueObj should never be allocated in heap but we do +// objects. These should never be allocated in heap but we do // create MemRegions (in CardTableModRefBS) in heap so operator // new and operator new [] added for this special case. diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/prims/jvmtiEnvThreadState.hpp --- a/src/hotspot/share/prims/jvmtiEnvThreadState.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/prims/jvmtiEnvThreadState.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -42,9 +42,9 @@ // // Wrapper class for FramePop, used in the JvmtiFramePops class. // -// Two problems: 1) this isn't being used as a ValueObj class, in +// Two problems: 1) this isn't being used as a value class, in // several places there are constructors for it. 2) It seems like -// overkill as a means to get an assert and name the geater than +// overkill as a means to get an assert and name the greater than // operator. I'm trying to to rewrite everything. class JvmtiFramePop { diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/runtime/handles.hpp --- a/src/hotspot/share/runtime/handles.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/runtime/handles.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -37,7 +37,7 @@ // allocated and passed around via Handles within the VM. A handle is // simply an extra indirection allocated in a thread local handle area. // -// A handle is a ValueObj, so it can be passed around as a value, can +// A handle is a value object, so it can be passed around as a value, can // be used as a parameter w/o using &-passing, and can be returned as a // return value. // diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/runtime/osThread.hpp --- a/src/hotspot/share/runtime/osThread.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/runtime/osThread.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -53,11 +53,6 @@ ZOMBIE // All done, but not reclaimed yet }; -// I'd make OSThread a ValueObj embedded in Thread to avoid an indirection, but -// the assembler test in java.cpp expects that it can install the OSThread of -// the main thread into its own Thread at will. - - class OSThread: public CHeapObj { friend class VMStructs; friend class JVMCIVMStructs; diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/runtime/vframeArray.hpp --- a/src/hotspot/share/runtime/vframeArray.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/runtime/vframeArray.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,7 @@ #ifndef SHARE_VM_RUNTIME_VFRAMEARRAY_HPP #define SHARE_VM_RUNTIME_VFRAMEARRAY_HPP +#include "memory/allocation.hpp" #include "oops/arrayOop.hpp" #include "runtime/deoptimization.hpp" #include "runtime/frame.inline.hpp" @@ -46,7 +47,7 @@ // A vframeArrayElement is an element of a vframeArray. Each element // represent an interpreter frame which will eventually be created. -class vframeArrayElement : public _ValueObj { +class vframeArrayElement { friend class VMStructs; private: diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/utilities/globalDefinitions_gcc.hpp --- a/src/hotspot/share/utilities/globalDefinitions_gcc.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/utilities/globalDefinitions_gcc.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -230,7 +230,6 @@ // Portability macros #define PRAGMA_INTERFACE #pragma interface #define PRAGMA_IMPLEMENTATION #pragma implementation -#define VALUE_OBJ_CLASS_SPEC #if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95) #define TEMPLATE_TABLE_BUG diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/utilities/globalDefinitions_sparcWorks.hpp --- a/src/hotspot/share/utilities/globalDefinitions_sparcWorks.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/utilities/globalDefinitions_sparcWorks.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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. * * This code is free software; you can redistribute it and/or modify it @@ -240,7 +240,6 @@ #define PRAGMA_INTERFACE #define PRAGMA_IMPLEMENTATION #define PRAGMA_IMPLEMENTATION_(arg) -#define VALUE_OBJ_CLASS_SPEC : public _ValueObj // Formatting. #ifdef _LP64 diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/utilities/globalDefinitions_visCPP.hpp --- a/src/hotspot/share/utilities/globalDefinitions_visCPP.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/utilities/globalDefinitions_visCPP.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -151,7 +151,6 @@ #define PRAGMA_INTERFACE #define PRAGMA_IMPLEMENTATION #define PRAGMA_IMPLEMENTATION_(arg) -#define VALUE_OBJ_CLASS_SPEC : public _ValueObj // Formatting. #define FORMAT64_MODIFIER "I64" diff -r 02076019c25d -r 2956d0ece7a9 src/hotspot/share/utilities/globalDefinitions_xlc.hpp --- a/src/hotspot/share/utilities/globalDefinitions_xlc.hpp Wed Mar 14 07:07:18 2018 -0400 +++ b/src/hotspot/share/utilities/globalDefinitions_xlc.hpp Wed Mar 14 07:27:19 2018 -0400 @@ -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) 2012, 2017 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -129,7 +129,6 @@ // Portability macros #define PRAGMA_INTERFACE #pragma interface #define PRAGMA_IMPLEMENTATION #pragma implementation -#define VALUE_OBJ_CLASS_SPEC // Formatting. #ifdef _LP64 diff -r 02076019c25d -r 2956d0ece7a9 test/hotspot/gtest/gc/shared/test_oopStorage.cpp --- a/test/hotspot/gtest/gc/shared/test_oopStorage.cpp Wed Mar 14 07:07:18 2018 -0400 +++ b/test/hotspot/gtest/gc/shared/test_oopStorage.cpp Wed Mar 14 07:27:19 2018 -0400 @@ -530,7 +530,7 @@ } #endif // DISABLE_GARBAGE_ALLOCATION_STATUS_TESTS -class OopStorageTest::CountingIterateClosure VALUE_OBJ_CLASS_SPEC { +class OopStorageTest::CountingIterateClosure { public: size_t _const_count; size_t _const_non_null; @@ -672,7 +672,7 @@ const unsigned char OopStorageTestIteration::mark_const; const unsigned char OopStorageTestIteration::mark_non_const; -class OopStorageTestIteration::VerifyState VALUE_OBJ_CLASS_SPEC { +class OopStorageTestIteration::VerifyState { public: unsigned char _expected_mark; const oop* const* _entries; @@ -742,7 +742,7 @@ } }; -class OopStorageTestIteration::VerifyFn VALUE_OBJ_CLASS_SPEC { +class OopStorageTestIteration::VerifyFn { public: VerifyFn(VerifyState* state, uint worker_id = 0) : _state(state), @@ -762,7 +762,7 @@ uint _worker_id; }; -class OopStorageTestIteration::VerifyClosure VALUE_OBJ_CLASS_SPEC { +class OopStorageTestIteration::VerifyClosure { public: VerifyClosure(VerifyState* state, uint worker_id = 0) : _state(state),