8199282: Remove ValueObj class for allocation subclassing for gc code

Reviewed-by: stefank, kbarrett
This commit is contained in:
Coleen Phillimore 2018-03-14 07:27:19 -04:00
parent 6c9998844b
commit 394e34d821
64 changed files with 139 additions and 213 deletions

View file

@ -25,17 +25,12 @@
#ifndef SHARE_VM_ADLC_ARENA_HPP #ifndef SHARE_VM_ADLC_ARENA_HPP
#define SHARE_VM_ADLC_ARENA_HPP #define SHARE_VM_ADLC_ARENA_HPP
// All classes in the virtual machine must be subclassed // All classes in adlc may be derived
// by one of the following allocation classes: // from one of the following allocation classes:
// //
// // For objects allocated in the C-heap (managed by: malloc & free).
// For objects allocated in the C-heap (managed by: free & malloc).
// - CHeapObj // - CHeapObj
// //
//
// For embedded objects.
// - ValueObj
//
// For classes used as name spaces. // For classes used as name spaces.
// - AllStatic // - AllStatic
// //
@ -48,15 +43,6 @@ class CHeapObj {
}; };
// 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. // Base class for classes that constitute name spaces.
class AllStatic { class AllStatic {

View file

@ -25,7 +25,6 @@
#ifndef SHARE_VM_CODE_RELOCINFO_HPP #ifndef SHARE_VM_CODE_RELOCINFO_HPP
#define SHARE_VM_CODE_RELOCINFO_HPP #define SHARE_VM_CODE_RELOCINFO_HPP
#include "memory/allocation.hpp"
#include "runtime/os.hpp" #include "runtime/os.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
@ -48,7 +47,7 @@ class NativeMovConstReg;
// oops in the code stream (strings, class loaders) // oops in the code stream (strings, class loaders)
// Also, the source of relocation specs (oop_Relocation::spec, ...). // Also, the source of relocation specs (oop_Relocation::spec, ...).
// RelocationHolder // 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. // Represents a relocation spec passed into a CodeBuffer during assembly.
// RelocIterator // RelocIterator
// A StackObj which iterates over the relocations associated with // A StackObj which iterates over the relocations associated with

View file

@ -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. * 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,11 +27,10 @@
#include "gc/shared/gcUtil.hpp" #include "gc/shared/gcUtil.hpp"
#include "logging/log.hpp" #include "logging/log.hpp"
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
class AllocationStats VALUE_OBJ_CLASS_SPEC { class AllocationStats {
// A duration threshold (in ms) used to filter // A duration threshold (in ms) used to filter
// possibly unreliable samples. // possibly unreliable samples.
static float _threshold; static float _threshold;

View file

@ -48,7 +48,7 @@ class UpwardsObjectClosure;
class ObjectClosureCareful; class ObjectClosureCareful;
class Klass; class Klass;
class LinearAllocBlock VALUE_OBJ_CLASS_SPEC { class LinearAllocBlock {
public: public:
LinearAllocBlock() : _ptr(0), _word_size(0), _refillSize(0), LinearAllocBlock() : _ptr(0), _word_size(0), _refillSize(0),
_allocation_size_limit(0) {} _allocation_size_limit(0) {}

View file

@ -79,7 +79,7 @@ class SerialOldTracer;
// we have _shifter == 0. and for the mod union table we have // we have _shifter == 0. and for the mod union table we have
// shifter == CardTable::card_shift - LogHeapWordSize.) // shifter == CardTable::card_shift - LogHeapWordSize.)
// XXX 64-bit issues in BitMap? // XXX 64-bit issues in BitMap?
class CMSBitMap VALUE_OBJ_CLASS_SPEC { class CMSBitMap {
friend class VMStructs; friend class VMStructs;
HeapWord* _bmStartWord; // base address of range covered by map HeapWord* _bmStartWord; // base address of range covered by map
@ -331,7 +331,7 @@ class ChunkArray: public CHeapObj<mtGC> {
// Timing, allocation and promotion statistics for gc scheduling and incremental // Timing, allocation and promotion statistics for gc scheduling and incremental
// mode pacing. Most statistics are exponential averages. // mode pacing. Most statistics are exponential averages.
// //
class CMSStats VALUE_OBJ_CLASS_SPEC { class CMSStats {
private: private:
ConcurrentMarkSweepGeneration* const _cms_gen; // The cms (old) gen. ConcurrentMarkSweepGeneration* const _cms_gen; // The cms (old) gen.

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,7 +25,6 @@
#ifndef SHARE_VM_GC_CMS_FREECHUNK_HPP #ifndef SHARE_VM_GC_CMS_FREECHUNK_HPP
#define SHARE_VM_GC_CMS_FREECHUNK_HPP #define SHARE_VM_GC_CMS_FREECHUNK_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp" #include "memory/memRegion.hpp"
#include "oops/markOop.hpp" #include "oops/markOop.hpp"
#include "runtime/mutex.hpp" #include "runtime/mutex.hpp"
@ -55,7 +54,7 @@
// but are not part of the free list and should not be coalesced into larger // 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. // free blocks. These free blocks have their two LSB's set.
class FreeChunk VALUE_OBJ_CLASS_SPEC { class FreeChunk {
friend class VMStructs; friend class VMStructs;
// For 64 bit compressed oops, the markOop encodes both the size and the // For 64 bit compressed oops, the markOop encodes both the size and the
// indication that this is a FreeChunk and not an object. // indication that this is a FreeChunk and not an object.

View file

@ -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. * 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,12 +26,11 @@
#define SHARE_VM_GC_CMS_PROMOTIONINFO_HPP #define SHARE_VM_GC_CMS_PROMOTIONINFO_HPP
#include "gc/cms/freeChunk.hpp" #include "gc/cms/freeChunk.hpp"
#include "memory/allocation.hpp"
// Forward declarations // Forward declarations
class CompactibleFreeListSpace; class CompactibleFreeListSpace;
class PromotedObject VALUE_OBJ_CLASS_SPEC { class PromotedObject {
private: private:
enum { enum {
promoted_mask = right_n_bits(2), // i.e. 0x3 promoted_mask = right_n_bits(2), // i.e. 0x3
@ -114,7 +113,7 @@ class SpoolBlock: public FreeChunk {
void print() const { print_on(tty); } void print() const { print_on(tty); }
}; };
class PromotionInfo VALUE_OBJ_CLASS_SPEC { class PromotionInfo {
bool _tracking; // set if tracking bool _tracking; // set if tracking
CompactibleFreeListSpace* _space; // the space to which this belongs CompactibleFreeListSpace* _space; // the space to which this belongs
PromotedObject* _promoHead; // head of list of promoted objects PromotedObject* _promoHead; // head of list of promoted objects

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -38,7 +38,7 @@ class G1CollectedHeap;
// and a lock will need to be taken when the active region needs to be // and a lock will need to be taken when the active region needs to be
// replaced. // replaced.
class G1AllocRegion VALUE_OBJ_CLASS_SPEC { class G1AllocRegion {
private: private:
// The active allocating region we are currently allocating out // The active allocating region we are currently allocating out

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,14 +25,13 @@
#ifndef SHARE_VM_GC_G1_G1BIASEDARRAY_HPP #ifndef SHARE_VM_GC_G1_G1BIASEDARRAY_HPP
#define SHARE_VM_GC_G1_G1BIASEDARRAY_HPP #define SHARE_VM_GC_G1_G1BIASEDARRAY_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp" #include "memory/memRegion.hpp"
#include "utilities/debug.hpp" #include "utilities/debug.hpp"
// Implements the common base functionality for arrays that contain provisions // Implements the common base functionality for arrays that contain provisions
// for accessing its elements using a biased index. // for accessing its elements using a biased index.
// The element type is defined by the instantiating the template. // The element type is defined by the instantiating the template.
class G1BiasedMappedArrayBase VALUE_OBJ_CLASS_SPEC { class G1BiasedMappedArrayBase {
friend class VMStructs; friend class VMStructs;
public: public:
typedef size_t idx_t; typedef size_t idx_t;

View file

@ -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. * 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
@ -109,7 +109,7 @@ public:
} }
}; };
class G1BlockOffsetTablePart VALUE_OBJ_CLASS_SPEC { class G1BlockOffsetTablePart {
friend class G1BlockOffsetTable; friend class G1BlockOffsetTable;
friend class VMStructs; friend class VMStructs;
private: private:

View file

@ -94,7 +94,7 @@ size_t G1CardLiveData::live_card_bitmap_size_in_bits() const {
// Helper class that provides functionality to generate the Live Data Count // Helper class that provides functionality to generate the Live Data Count
// information. // information.
class G1CardLiveDataHelper VALUE_OBJ_CLASS_SPEC { class G1CardLiveDataHelper {
private: private:
BitMapView _region_bm; BitMapView _region_bm;
BitMapView _card_bm; BitMapView _card_bm;

View file

@ -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. * 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,7 +37,7 @@ class WorkGang;
// Can be used for various purposes, like as remembered set for completely // Can be used for various purposes, like as remembered set for completely
// coarsened remembered sets, scrubbing remembered sets or estimating liveness. // coarsened remembered sets, scrubbing remembered sets or estimating liveness.
// This information is created as part of the concurrent marking cycle. // This information is created as part of the concurrent marking cycle.
class G1CardLiveData VALUE_OBJ_CLASS_SPEC { class G1CardLiveData {
friend class G1CardLiveDataHelper; friend class G1CardLiveDataHelper;
friend class G1VerifyCardLiveDataTask; friend class G1VerifyCardLiveDataTask;
private: private:

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,8 +25,6 @@
#ifndef SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP #ifndef SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP
#define SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP #define SHARE_VM_GC_G1_G1CODECACHEREMSET_HPP
#include "memory/allocation.hpp"
class CodeBlobClosure; class CodeBlobClosure;
class G1CodeRootSetTable; class G1CodeRootSetTable;
class HeapRegion; class HeapRegion;
@ -34,7 +32,7 @@ class nmethod;
// Implements storage for a set of code roots. // Implements storage for a set of code roots.
// All methods that modify the set are not thread-safe except if otherwise noted. // 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; friend class G1CodeRootSetTest;
private: private:

View file

@ -3391,7 +3391,7 @@ public:
size_t symbols_removed() const { return (size_t)_symbols_removed; } size_t symbols_removed() const { return (size_t)_symbols_removed; }
}; };
class G1CodeCacheUnloadingTask VALUE_OBJ_CLASS_SPEC { class G1CodeCacheUnloadingTask {
private: private:
static Monitor* _lock; static Monitor* _lock;

View file

@ -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. * 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,7 +26,6 @@
#define SHARE_VM_GC_G1_G1COLLECTIONSET_HPP #define SHARE_VM_GC_G1_G1COLLECTIONSET_HPP
#include "gc/g1/collectionSetChooser.hpp" #include "gc/g1/collectionSetChooser.hpp"
#include "memory/allocation.hpp"
#include "utilities/debug.hpp" #include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
@ -37,7 +36,7 @@ class G1Policy;
class G1SurvivorRegions; class G1SurvivorRegions;
class HeapRegion; class HeapRegion;
class G1CollectionSet VALUE_OBJ_CLASS_SPEC { class G1CollectionSet {
G1CollectedHeap* _g1; G1CollectedHeap* _g1;
G1Policy* _policy; G1Policy* _policy;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -26,12 +26,11 @@
#define SHARE_VM_GC_G1_G1COLLECTORSTATE_HPP #define SHARE_VM_GC_G1_G1COLLECTORSTATE_HPP
#include "gc/g1/g1YCTypes.hpp" #include "gc/g1/g1YCTypes.hpp"
#include "memory/allocation.hpp"
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
// Various state variables that indicate // Various state variables that indicate
// the phase of the G1 collection. // 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. // Indicates whether we are in "full young" or "mixed" GC mode.
bool _gcs_are_young; bool _gcs_are_young;
// Was the last GC "young"? // Was the last GC "young"?

View file

@ -1859,7 +1859,7 @@ G1ConcurrentMark::claim_region(uint worker_id) {
} }
#ifndef PRODUCT #ifndef PRODUCT
class VerifyNoCSetOops VALUE_OBJ_CLASS_SPEC { class VerifyNoCSetOops {
private: private:
G1CollectedHeap* _g1h; G1CollectedHeap* _g1h;
const char* _phase; const char* _phase;

View file

@ -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. * 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 "gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp" #include "gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp"
#include "gc/g1/heapRegionSet.hpp" #include "gc/g1/heapRegionSet.hpp"
#include "gc/shared/taskqueue.hpp" #include "gc/shared/taskqueue.hpp"
#include "memory/allocation.hpp"
class ConcurrentGCTimer; class ConcurrentGCTimer;
class ConcurrentMarkThread; class ConcurrentMarkThread;
@ -47,7 +48,7 @@ class G1SurvivorRegions;
// This is a container class for either an oop or a continuation address for // This is a container class for either an oop or a continuation address for
// mark stack entries. Both are pushed onto the mark stack. // mark stack entries. Both are pushed onto the mark stack.
class G1TaskQueueEntry VALUE_OBJ_CLASS_SPEC { class G1TaskQueueEntry {
private: private:
void* _holder; void* _holder;
@ -127,7 +128,7 @@ class G1CMIsAliveClosure: public BoolObjectClosure {
// Memory management is done using a mix of tracking a high water-mark indicating // 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 // that all chunks at a lower address are valid chunks, and a singly linked free
// list connecting all empty chunks. // list connecting all empty chunks.
class G1CMMarkStack VALUE_OBJ_CLASS_SPEC { class G1CMMarkStack {
public: public:
// Number of TaskQueueEntries that can fit in a single chunk. // Number of TaskQueueEntries that can fit in a single chunk.
static const size_t EntriesPerChunk = 1024 - 1 /* One reference for the next pointer */; static const size_t EntriesPerChunk = 1024 - 1 /* One reference for the next pointer */;
@ -227,7 +228,7 @@ private:
// Currently, we only support root region scanning once (at the start // Currently, we only support root region scanning once (at the start
// of the marking cycle) and the root regions are all the survivor // of the marking cycle) and the root regions are all the survivor
// regions populated during the initial-mark pause. // regions populated during the initial-mark pause.
class G1CMRootRegions VALUE_OBJ_CLASS_SPEC { class G1CMRootRegions {
private: private:
const G1SurvivorRegions* _survivors; const G1SurvivorRegions* _survivors;
G1ConcurrentMark* _cm; G1ConcurrentMark* _cm;

View file

@ -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. * 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,7 +26,6 @@
#define SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP #define SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP
#include "gc/g1/g1RegionToSpaceMapper.hpp" #include "gc/g1/g1RegionToSpaceMapper.hpp"
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp" #include "memory/memRegion.hpp"
#include "oops/oopsHierarchy.hpp" #include "oops/oopsHierarchy.hpp"
#include "utilities/bitMap.hpp" #include "utilities/bitMap.hpp"
@ -39,7 +38,7 @@ class G1ConcurrentMark;
class HeapRegion; class HeapRegion;
// Closure for iteration over bitmaps // Closure for iteration over bitmaps
class G1CMBitMapClosure VALUE_OBJ_CLASS_SPEC { class G1CMBitMapClosure {
private: private:
G1ConcurrentMark* const _cm; G1ConcurrentMark* const _cm;
G1CMTask* const _task; G1CMTask* const _task;
@ -62,7 +61,7 @@ class G1CMBitMapMappingChangedListener : public G1MappingChangedListener {
// A generic mark bitmap for concurrent marking. This is essentially a wrapper // 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. // 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: private:
MemRegion _covered; // The heap area covered by this bitmap. MemRegion _covered; // The heap area covered by this bitmap.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -26,7 +26,6 @@
#define SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP #define SHARE_VM_GC_G1_G1CONCURRENTMARKOBJARRAYPROCESSOR_HPP
#include "oops/oopsHierarchy.hpp" #include "oops/oopsHierarchy.hpp"
#include "memory/allocation.hpp"
class G1CMTask; class G1CMTask;
@ -34,7 +33,7 @@ class G1CMTask;
// Instead of pushing large object arrays, we push continuations onto the // Instead of pushing large object arrays, we push continuations onto the
// mark stack. These continuations are identified by having their LSB set. // mark stack. These continuations are identified by having their LSB set.
// This allows incremental processing of large objects. // This allows incremental processing of large objects.
class G1CMObjArrayProcessor VALUE_OBJ_CLASS_SPEC { class G1CMObjArrayProcessor {
private: private:
// Reference to the task for doing the actual work. // Reference to the task for doing the actual work.
G1CMTask* _task; G1CMTask* _task;

View file

@ -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. * 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,7 +37,7 @@ class ThreadClosure;
// Helper class for refinement thread management. Used to start, stop and // Helper class for refinement thread management. Used to start, stop and
// iterate over them. // iterate over them.
class G1ConcurrentRefineThreadControl VALUE_OBJ_CLASS_SPEC { class G1ConcurrentRefineThreadControl {
G1ConcurrentRefine* _cr; G1ConcurrentRefine* _cr;
G1ConcurrentRefineThread** _threads; G1ConcurrentRefineThread** _threads;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -26,11 +26,10 @@
#define SHARE_VM_GC_G1_G1EDENREGIONS_HPP #define SHARE_VM_GC_G1_G1EDENREGIONS_HPP
#include "gc/g1/heapRegion.hpp" #include "gc/g1/heapRegion.hpp"
#include "memory/allocation.hpp"
#include "runtime/globals.hpp" #include "runtime/globals.hpp"
#include "utilities/debug.hpp" #include "utilities/debug.hpp"
class G1EdenRegions VALUE_OBJ_CLASS_SPEC { class G1EdenRegions {
private: private:
int _length; int _length;

View file

@ -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. * 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,11 +27,10 @@
#include "gc/g1/heapRegion.hpp" #include "gc/g1/heapRegion.hpp"
#include "logging/log.hpp" #include "logging/log.hpp"
#include "memory/allocation.hpp"
#define SKIP_RETIRED_FULL_REGIONS 1 #define SKIP_RETIRED_FULL_REGIONS 1
class G1HRPrinter VALUE_OBJ_CLASS_SPEC { class G1HRPrinter {
private: private:

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -32,7 +32,7 @@
// After calling the initial mark/mixed gc notifications, the result can be // After calling the initial mark/mixed gc notifications, the result can be
// obtained in last_marking_time() once, after which the tracking resets. // obtained in last_marking_time() once, after which the tracking resets.
// Any pauses recorded by add_pause() will be subtracted from that results. // Any pauses recorded by add_pause() will be subtracted from that results.
class G1InitialMarkToMixedTimeTracker VALUE_OBJ_CLASS_SPEC { class G1InitialMarkToMixedTimeTracker {
private: private:
bool _active; bool _active;
double _initial_mark_end_time; double _initial_mark_end_time;

View file

@ -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. * 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
@ -81,7 +81,7 @@ public:
} }
}; };
class G1MMUTrackerQueueElem VALUE_OBJ_CLASS_SPEC { class G1MMUTrackerQueueElem {
private: private:
double _start_time; double _start_time;
double _end_time; double _end_time;

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,7 +25,6 @@
#ifndef SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP #ifndef SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
#define SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP #define SHARE_VM_GC_G1_G1PAGEBASEDVIRTUALSPACE_HPP
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp" #include "memory/memRegion.hpp"
#include "memory/virtualspace.hpp" #include "memory/virtualspace.hpp"
#include "utilities/align.hpp" #include "utilities/align.hpp"
@ -45,7 +44,7 @@ class WorkGang;
// be committed using OS small pages. // be committed using OS small pages.
// The implementation gives an error when trying to commit or uncommit pages that // The implementation gives an error when trying to commit or uncommit pages that
// have already been committed or uncommitted. // have already been committed or uncommitted.
class G1PageBasedVirtualSpace VALUE_OBJ_CLASS_SPEC { class G1PageBasedVirtualSpace {
friend class VMStructs; friend class VMStructs;
private: private:
// Reserved area addresses. // Reserved area addresses.

View file

@ -97,7 +97,7 @@ void G1Policy::note_gc_start() {
phase_times()->note_gc_start(); phase_times()->note_gc_start();
} }
class G1YoungLengthPredictor VALUE_OBJ_CLASS_SPEC { class G1YoungLengthPredictor {
const bool _during_cm; const bool _during_cm;
const double _base_time_ms; const double _base_time_ms;
const double _base_free_regions; const double _base_free_regions;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -28,7 +28,7 @@
#include "utilities/numberSeq.hpp" #include "utilities/numberSeq.hpp"
// Utility class containing various helper methods for prediction. // Utility class containing various helper methods for prediction.
class G1Predictions VALUE_OBJ_CLASS_SPEC { class G1Predictions {
private: private:
double _sigma; double _sigma;

View file

@ -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. * 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,7 +31,7 @@
class WorkGang; class WorkGang;
class G1MappingChangedListener VALUE_OBJ_CLASS_SPEC { class G1MappingChangedListener {
public: public:
// Fired after commit of the memory, i.e. the memory this listener is registered // Fired after commit of the memory, i.e. the memory this listener is registered
// for can be accessed. // for can be accessed.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -145,7 +145,7 @@ void G1RemSetSummary::subtract_from(G1RemSetSummary* other) {
_sampling_thread_vtime = other->sampling_thread_vtime() - _sampling_thread_vtime; _sampling_thread_vtime = other->sampling_thread_vtime() - _sampling_thread_vtime;
} }
class RegionTypeCounter VALUE_OBJ_CLASS_SPEC { class RegionTypeCounter {
private: private:
const char* _name; const char* _name;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -32,7 +32,7 @@ class G1RemSet;
// A G1RemSetSummary manages statistical information about the G1RemSet // A G1RemSetSummary manages statistical information about the G1RemSet
class G1RemSetSummary VALUE_OBJ_CLASS_SPEC { class G1RemSetSummary {
private: private:
friend class GetRSThreadVTimeClosure; friend class GetRSThreadVTimeClosure;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -32,7 +32,7 @@ class G1ParScanThreadState;
// Simple holder object for a complete set of closures used by the G1 evacuation code. // Simple holder object for a complete set of closures used by the G1 evacuation code.
template <G1Mark Mark> template <G1Mark Mark>
class G1SharedClosures VALUE_OBJ_CLASS_SPEC { class G1SharedClosures {
public: public:
G1ParCopyClosure<G1BarrierNone, Mark> _oops; G1ParCopyClosure<G1BarrierNone, Mark> _oops;
G1ParCopyClosure<G1BarrierCLD, Mark> _oops_in_cld; G1ParCopyClosure<G1BarrierCLD, Mark> _oops_in_cld;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,14 +25,13 @@
#ifndef SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP #ifndef SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP
#define SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP #define SHARE_VM_GC_G1_G1SURVIVORREGIONS_HPP
#include "memory/allocation.hpp"
#include "runtime/globals.hpp" #include "runtime/globals.hpp"
template <typename T> template <typename T>
class GrowableArray; class GrowableArray;
class HeapRegion; class HeapRegion;
class G1SurvivorRegions VALUE_OBJ_CLASS_SPEC { class G1SurvivorRegions {
private: private:
GrowableArray<HeapRegion*>* _regions; GrowableArray<HeapRegion*>* _regions;

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,7 +25,7 @@
#ifndef SHARE_VM_GC_G1_G1YOUNGGENSIZER_HPP #ifndef SHARE_VM_GC_G1_G1YOUNGGENSIZER_HPP
#define 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: // There are three command line options related to the young gen size:
// NewSize, MaxNewSize and NewRatio (There is also -Xmn, but that is // 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 // NewSize and MaxNewSize override NewRatio. So, NewRatio is ignored if it is
// combined with either NewSize or MaxNewSize. (A warning message is printed.) // combined with either NewSize or MaxNewSize. (A warning message is printed.)
class G1YoungGenSizer VALUE_OBJ_CLASS_SPEC { class G1YoungGenSizer {
private: private:
enum SizerKind { enum SizerKind {
SizerDefaults, SizerDefaults,

View file

@ -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. * 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,7 +71,7 @@ class HRRSCleanupTask : public SparsePRTCleanupTask {
// is represented. If a deleted PRT is re-used, a thread adding a bit, // 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. // thinking the PRT is for a different region, does no harm.
class OtherRegionsTable VALUE_OBJ_CLASS_SPEC { class OtherRegionsTable {
friend class HeapRegionRemSetIterator; friend class HeapRegionRemSetIterator;
G1CollectedHeap* _g1h; G1CollectedHeap* _g1h;

View file

@ -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. * 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
@ -68,7 +68,7 @@ class OldRegionSetMtSafeChecker : public HRSMtSafeChecker { public: v
// (e.g., length, region num, used bytes sum) plus any shared // (e.g., length, region num, used bytes sum) plus any shared
// functionality (e.g., verification). // functionality (e.g., verification).
class HeapRegionSetBase VALUE_OBJ_CLASS_SPEC { class HeapRegionSetBase {
friend class VMStructs; friend class VMStructs;
private: private:
bool _is_humongous; bool _is_humongous;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -26,12 +26,11 @@
#define SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP #define SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP
#include "gc/g1/g1HeapRegionTraceType.hpp" #include "gc/g1/g1HeapRegionTraceType.hpp"
#include "memory/allocation.hpp"
#define hrt_assert_is_valid(tag) \ #define hrt_assert_is_valid(tag) \
assert(is_valid((tag)), "invalid HR type: %u", (uint) (tag)) assert(is_valid((tag)), "invalid HR type: %u", (uint) (tag))
class HeapRegionType VALUE_OBJ_CLASS_SPEC { class HeapRegionType {
friend class VMStructs; friend class VMStructs;
private: private:

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,7 +25,6 @@
#ifndef SHARE_VM_GC_G1_PTRQUEUE_HPP #ifndef SHARE_VM_GC_G1_PTRQUEUE_HPP
#define SHARE_VM_GC_G1_PTRQUEUE_HPP #define SHARE_VM_GC_G1_PTRQUEUE_HPP
#include "memory/allocation.hpp"
#include "utilities/align.hpp" #include "utilities/align.hpp"
#include "utilities/sizes.hpp" #include "utilities/sizes.hpp"
@ -36,7 +35,7 @@
class BufferNode; class BufferNode;
class PtrQueueSet; class PtrQueueSet;
class PtrQueue VALUE_OBJ_CLASS_SPEC { class PtrQueue {
friend class VMStructs; friend class VMStructs;
// Noncopyable - not defined. // Noncopyable - not defined.
@ -257,7 +256,7 @@ public:
// In particular, the individual queues allocate buffers from this shared // In particular, the individual queues allocate buffers from this shared
// set, and return completed buffers to the set. // set, and return completed buffers to the set.
// All these variables are are protected by the TLOQ_CBL_mon. XXX ??? // All these variables are are protected by the TLOQ_CBL_mon. XXX ???
class PtrQueueSet VALUE_OBJ_CLASS_SPEC { class PtrQueueSet {
private: private:
// The size of all buffers in the set. // The size of all buffers in the set.
size_t _buffer_size; size_t _buffer_size;

View file

@ -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. * 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
@ -186,8 +186,8 @@ public:
void print(); void print();
}; };
// ValueObj because will be embedded in HRRS iterator. // This is embedded in HRRS iterator.
class RSHashTableIter VALUE_OBJ_CLASS_SPEC { class RSHashTableIter {
// Return value indicating "invalid/no card". // Return value indicating "invalid/no card".
static const int NoCardFound = -1; static const int NoCardFound = -1;
@ -222,7 +222,7 @@ public:
class SparsePRTIter; class SparsePRTIter;
class SparsePRTCleanupTask; class SparsePRTCleanupTask;
class SparsePRT VALUE_OBJ_CLASS_SPEC { class SparsePRT {
friend class SparsePRTCleanupTask; friend class SparsePRTCleanupTask;
// Iterations are done on the _cur hash table, since they only need to // Iterations are done on the _cur hash table, since they only need to
@ -334,7 +334,7 @@ public:
// to be processed at the beginning of the next GC pause. This lists // 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 // are concatenated into the single expanded list at the end of the
// cleanup pause. // cleanup pause.
class SparsePRTCleanupTask VALUE_OBJ_CLASS_SPEC { class SparsePRTCleanupTask {
private: private:
SparsePRT* _head; SparsePRT* _head;
SparsePRT* _tail; SparsePRT* _tail;

View file

@ -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. * 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
@ -272,7 +272,7 @@ protected:
~SynchronizedGCTaskQueue(); ~SynchronizedGCTaskQueue();
}; };
class WaitHelper VALUE_OBJ_CLASS_SPEC { class WaitHelper {
private: private:
Monitor* _monitor; Monitor* _monitor;
volatile bool _should_wait; volatile bool _should_wait;

View file

@ -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. * 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,7 +30,6 @@
#include "gc/shared/gcTrace.hpp" #include "gc/shared/gcTrace.hpp"
#include "gc/shared/preservedMarks.hpp" #include "gc/shared/preservedMarks.hpp"
#include "gc/shared/taskqueue.hpp" #include "gc/shared/taskqueue.hpp"
#include "memory/allocation.hpp"
#include "memory/padded.hpp" #include "memory/padded.hpp"
#include "utilities/globalDefinitions.hpp" #include "utilities/globalDefinitions.hpp"
@ -50,7 +49,7 @@ class MutableSpace;
class PSOldGen; class PSOldGen;
class ParCompactionManager; class ParCompactionManager;
class PSPromotionManager VALUE_OBJ_CLASS_SPEC { class PSPromotionManager {
friend class PSScavenge; friend class PSScavenge;
friend class PSRefProcTaskExecutor; friend class PSRefProcTaskExecutor;
private: private:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -200,7 +200,7 @@ class AdjustPointerClosure: public OopsInGenClosure {
debug_only(virtual bool should_verify_oops() { return false; }) debug_only(virtual bool should_verify_oops() { return false; })
}; };
class PreservedMark VALUE_OBJ_CLASS_SPEC { class PreservedMark {
private: private:
oop _obj; oop _obj;
markOop _mark; markOop _mark;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -29,14 +29,14 @@
#include "oops/oop.hpp" #include "oops/oop.hpp"
#include "runtime/perfData.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. */ See the LICENSE file for license information. */
// Age table for adaptive feedback-mediated tenuring (scavenging) // Age table for adaptive feedback-mediated tenuring (scavenging)
// //
// Note: all sizes are in oops // Note: all sizes are in oops
class AgeTable VALUE_OBJ_CLASS_SPEC { class AgeTable {
friend class VMStructs; friend class VMStructs;
public: public:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -26,6 +26,7 @@
#define SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_HPP #define SHARE_VM_GC_SHARED_BLOCKOFFSETTABLE_HPP
#include "gc/shared/memset_with_concurrent_readers.hpp" #include "gc/shared/memset_with_concurrent_readers.hpp"
#include "memory/allocation.hpp"
#include "memory/memRegion.hpp" #include "memory/memRegion.hpp"
#include "memory/virtualspace.hpp" #include "memory/virtualspace.hpp"
#include "runtime/globals.hpp" #include "runtime/globals.hpp"
@ -77,7 +78,7 @@ public:
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// The BlockOffsetTable "interface" // The BlockOffsetTable "interface"
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
class BlockOffsetTable VALUE_OBJ_CLASS_SPEC { class BlockOffsetTable {
friend class VMStructs; friend class VMStructs;
protected: protected:
// These members describe the region covered by the table. // These members describe the region covered by the table.

View file

@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -38,7 +38,7 @@ public:
static const int IDLE_PHASE = 1; // Concurrent processing is idle. static const int IDLE_PHASE = 1; // Concurrent processing is idle.
// Stack of phase managers. // Stack of phase managers.
class Stack VALUE_OBJ_CLASS_SPEC { class Stack {
friend class ConcurrentGCPhaseManager; friend class ConcurrentGCPhaseManager;
public: public:

View file

@ -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. * 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,7 +30,6 @@
#include "gc/shared/gcId.hpp" #include "gc/shared/gcId.hpp"
#include "gc/shared/gcName.hpp" #include "gc/shared/gcName.hpp"
#include "gc/shared/gcWhen.hpp" #include "gc/shared/gcWhen.hpp"
#include "memory/allocation.hpp"
#include "memory/metaspace.hpp" #include "memory/metaspace.hpp"
#include "memory/referenceType.hpp" #include "memory/referenceType.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
@ -50,7 +49,7 @@ class ReferenceProcessorStats;
class TimePartitions; class TimePartitions;
class BoolObjectClosure; class BoolObjectClosure;
class SharedGCInfo VALUE_OBJ_CLASS_SPEC { class SharedGCInfo {
private: private:
GCName _name; GCName _name;
GCCause::Cause _cause; GCCause::Cause _cause;
@ -88,7 +87,7 @@ class SharedGCInfo VALUE_OBJ_CLASS_SPEC {
const Tickspan longest_pause() const { return _longest_pause; } const Tickspan longest_pause() const { return _longest_pause; }
}; };
class ParallelOldGCInfo VALUE_OBJ_CLASS_SPEC { class ParallelOldGCInfo {
void* _dense_prefix; void* _dense_prefix;
public: public:
ParallelOldGCInfo() : _dense_prefix(NULL) {} ParallelOldGCInfo() : _dense_prefix(NULL) {}
@ -100,7 +99,7 @@ class ParallelOldGCInfo VALUE_OBJ_CLASS_SPEC {
#if INCLUDE_ALL_GCS #if INCLUDE_ALL_GCS
class G1YoungGCInfo VALUE_OBJ_CLASS_SPEC { class G1YoungGCInfo {
G1YCType _type; G1YCType _type;
public: public:
G1YoungGCInfo() : _type(G1YCTypeEndSentinel) {} G1YoungGCInfo() : _type(G1YCTypeEndSentinel) {}

View file

@ -175,7 +175,7 @@ NOT_AIX( private: )
class Block; // Forward decl; defined in .inline.hpp file. class Block; // Forward decl; defined in .inline.hpp file.
class BlockList; // Forward decl for BlockEntry friend decl. class BlockList; // Forward decl for BlockEntry friend decl.
class BlockEntry VALUE_OBJ_CLASS_SPEC { class BlockEntry {
friend class BlockList; friend class BlockList;
// Members are mutable, and we deal exclusively with pointers to // Members are mutable, and we deal exclusively with pointers to
@ -193,7 +193,7 @@ NOT_AIX( private: )
~BlockEntry(); ~BlockEntry();
}; };
class BlockList VALUE_OBJ_CLASS_SPEC { class BlockList {
const Block* _head; const Block* _head;
const Block* _tail; const Block* _tail;
const BlockEntry& (*_get_entry)(const Block& block); const BlockEntry& (*_get_entry)(const Block& block);

View file

@ -26,7 +26,6 @@
#define SHARE_GC_SHARED_OOPSTORAGE_INLINE_HPP #define SHARE_GC_SHARED_OOPSTORAGE_INLINE_HPP
#include "gc/shared/oopStorage.hpp" #include "gc/shared/oopStorage.hpp"
#include "memory/allocation.hpp"
#include "metaprogramming/conditional.hpp" #include "metaprogramming/conditional.hpp"
#include "metaprogramming/isConst.hpp" #include "metaprogramming/isConst.hpp"
#include "oops/oop.hpp" #include "oops/oop.hpp"
@ -127,7 +126,7 @@ inline const OopStorage::Block* OopStorage::BlockList::next(const Block& block)
} }
template<typename Closure> template<typename Closure>
class OopStorage::OopFn VALUE_OBJ_CLASS_SPEC { class OopStorage::OopFn {
public: public:
explicit OopFn(Closure* cl) : _cl(cl) {} explicit OopFn(Closure* cl) : _cl(cl) {}
@ -147,7 +146,7 @@ inline OopStorage::OopFn<Closure> OopStorage::oop_fn(Closure* cl) {
} }
template<typename IsAlive, typename F> template<typename IsAlive, typename F>
class OopStorage::IfAliveFn VALUE_OBJ_CLASS_SPEC { class OopStorage::IfAliveFn {
public: public:
IfAliveFn(IsAlive* is_alive, F f) : _is_alive(is_alive), _f(f) {} IfAliveFn(IsAlive* is_alive, F f) : _is_alive(is_alive), _f(f) {}
@ -175,7 +174,7 @@ inline OopStorage::IfAliveFn<IsAlive, F> OopStorage::if_alive_fn(IsAlive* is_ali
} }
template<typename F> template<typename F>
class OopStorage::SkipNullFn VALUE_OBJ_CLASS_SPEC { class OopStorage::SkipNullFn {
public: public:
SkipNullFn(F f) : _f(f) {} SkipNullFn(F f) : _f(f) {}

View file

@ -26,7 +26,6 @@
#define SHARE_GC_SHARED_OOPSTORAGEPARSTATE_HPP #define SHARE_GC_SHARED_OOPSTORAGEPARSTATE_HPP
#include "gc/shared/oopStorage.hpp" #include "gc/shared/oopStorage.hpp"
#include "memory/allocation.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
#if INCLUDE_ALL_GCS #if INCLUDE_ALL_GCS
@ -140,7 +139,7 @@
// If is_alive->do_object_b(*p) is false, then cl will not be // If is_alive->do_object_b(*p) is false, then cl will not be
// invoked on p. // invoked on p.
class OopStorage::BasicParState VALUE_OBJ_CLASS_SPEC { class OopStorage::BasicParState {
OopStorage* _storage; OopStorage* _storage;
void* volatile _next_block; void* volatile _next_block;
bool _concurrent; bool _concurrent;
@ -164,7 +163,7 @@ public:
}; };
template<bool concurrent, bool is_const> template<bool concurrent, bool is_const>
class OopStorage::ParState VALUE_OBJ_CLASS_SPEC { class OopStorage::ParState {
BasicParState _basic_state; BasicParState _basic_state;
public: public:
@ -178,7 +177,7 @@ public:
}; };
template<> template<>
class OopStorage::ParState<false, false> VALUE_OBJ_CLASS_SPEC { class OopStorage::ParState<false, false> {
BasicParState _basic_state; BasicParState _basic_state;
public: public:

View file

@ -27,14 +27,13 @@
#include "gc/shared/oopStorage.inline.hpp" #include "gc/shared/oopStorage.inline.hpp"
#include "gc/shared/oopStorageParState.hpp" #include "gc/shared/oopStorageParState.hpp"
#include "memory/allocation.hpp"
#include "metaprogramming/conditional.hpp" #include "metaprogramming/conditional.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
#if INCLUDE_ALL_GCS #if INCLUDE_ALL_GCS
template<typename F> template<typename F>
class OopStorage::BasicParState::AlwaysTrueFn VALUE_OBJ_CLASS_SPEC { class OopStorage::BasicParState::AlwaysTrueFn {
F _f; F _f;
public: public:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -33,9 +33,9 @@
class PreservedMarksSet; class PreservedMarksSet;
class WorkGang; class WorkGang;
class PreservedMarks VALUE_OBJ_CLASS_SPEC { class PreservedMarks {
private: private:
class OopAndMarkOop VALUE_OBJ_CLASS_SPEC { class OopAndMarkOop {
private: private:
oop _o; oop _o;
markOop _m; markOop _m;

View file

@ -54,7 +54,7 @@ class WorkGang;
// An abstract task to be worked on by a gang. // An abstract task to be worked on by a gang.
// You subclass this to supply your own work() method // You subclass this to supply your own work() method
class AbstractGangTask VALUE_OBJ_CLASS_SPEC { class AbstractGangTask {
const char* _name; const char* _name;
const uint _gc_id; const uint _gc_id;

View file

@ -45,11 +45,6 @@ void StackObj::operator delete(void* p) { ShouldNotCallThis(); }
void* StackObj::operator new [](size_t size) throw() { ShouldNotCallThis(); return 0; } void* StackObj::operator new [](size_t size) throw() { ShouldNotCallThis(); return 0; }
void StackObj::operator delete [](void* p) { ShouldNotCallThis(); } 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, void* MetaspaceObj::operator new(size_t size, ClassLoaderData* loader_data,
size_t word_size, size_t word_size,
MetaspaceObj::Type type, TRAPS) throw() { MetaspaceObj::Type type, TRAPS) throw() {

View file

@ -37,21 +37,24 @@ public:
}; };
typedef AllocFailStrategy::AllocFailEnum AllocFailType; typedef AllocFailStrategy::AllocFailEnum AllocFailType;
// All classes in the virtual machine must be subclassed // The virtual machine must never call one of the implicitly declared
// by one of the following allocation classes: // 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). // For objects allocated in the resource area (see resourceArea.hpp).
// - ResourceObj // - 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 // - CHeapObj
// //
// For objects allocated on the stack. // For objects allocated on the stack.
// - StackObj // - StackObj
// //
// For embedded objects.
// - ValueObj
//
// For classes used as name spaces. // For classes used as name spaces.
// - AllStatic // - AllStatic
// //
@ -84,15 +87,10 @@ typedef AllocFailStrategy::AllocFailEnum AllocFailType;
// char* AllocateHeap(size_t size, const char* name); // char* AllocateHeap(size_t size, const char* name);
// void FreeHeap(void* p); // 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 // In non product mode we introduce a super class for all allocation classes
// that supports printing. // that supports printing.
// We avoid the superclass in product mode since some C++ compilers add // We avoid the superclass in product mode to save space.
// a word overhead for empty super classes.
#ifdef PRODUCT #ifdef PRODUCT
#define ALLOCATION_SUPER_CLASS_SPEC #define ALLOCATION_SUPER_CLASS_SPEC
@ -188,31 +186,6 @@ class StackObj ALLOCATION_SUPER_CLASS_SPEC {
void operator delete [](void* p); 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. // Base class for objects stored in Metaspace.
// Calling delete will result in fatal error. // Calling delete will result in fatal error.
// //

View file

@ -34,7 +34,7 @@
// Note that MemRegions are passed by value, not by reference. // Note that MemRegions are passed by value, not by reference.
// The intent is that they remain very small and contain no // 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 // create MemRegions (in CardTableModRefBS) in heap so operator
// new and operator new [] added for this special case. // new and operator new [] added for this special case.

View file

@ -42,9 +42,9 @@ class JvmtiEnv;
// //
// Wrapper class for FramePop, used in the JvmtiFramePops class. // 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 // 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. // operator. I'm trying to to rewrite everything.
class JvmtiFramePop { class JvmtiFramePop {

View file

@ -37,7 +37,7 @@ class Klass;
// allocated and passed around via Handles within the VM. A handle is // allocated and passed around via Handles within the VM. A handle is
// simply an extra indirection allocated in a thread local handle area. // 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 // be used as a parameter w/o using &-passing, and can be returned as a
// return value. // return value.
// //

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -53,11 +53,6 @@ enum ThreadState {
ZOMBIE // All done, but not reclaimed yet 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<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, 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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -25,6 +25,7 @@
#ifndef SHARE_VM_RUNTIME_VFRAMEARRAY_HPP #ifndef SHARE_VM_RUNTIME_VFRAMEARRAY_HPP
#define SHARE_VM_RUNTIME_VFRAMEARRAY_HPP #define SHARE_VM_RUNTIME_VFRAMEARRAY_HPP
#include "memory/allocation.hpp"
#include "oops/arrayOop.hpp" #include "oops/arrayOop.hpp"
#include "runtime/deoptimization.hpp" #include "runtime/deoptimization.hpp"
#include "runtime/frame.inline.hpp" #include "runtime/frame.inline.hpp"
@ -46,7 +47,7 @@ class StackValueCollection;
// A vframeArrayElement is an element of a vframeArray. Each element // A vframeArrayElement is an element of a vframeArray. Each element
// represent an interpreter frame which will eventually be created. // represent an interpreter frame which will eventually be created.
class vframeArrayElement : public _ValueObj { class vframeArrayElement {
friend class VMStructs; friend class VMStructs;
private: private:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -230,7 +230,6 @@ inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }
// Portability macros // Portability macros
#define PRAGMA_INTERFACE #pragma interface #define PRAGMA_INTERFACE #pragma interface
#define PRAGMA_IMPLEMENTATION #pragma implementation #define PRAGMA_IMPLEMENTATION #pragma implementation
#define VALUE_OBJ_CLASS_SPEC
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95) #if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
#define TEMPLATE_TABLE_BUG #define TEMPLATE_TABLE_BUG

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -240,7 +240,6 @@ inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }
#define PRAGMA_INTERFACE #define PRAGMA_INTERFACE
#define PRAGMA_IMPLEMENTATION #define PRAGMA_IMPLEMENTATION
#define PRAGMA_IMPLEMENTATION_(arg) #define PRAGMA_IMPLEMENTATION_(arg)
#define VALUE_OBJ_CLASS_SPEC : public _ValueObj
// Formatting. // Formatting.
#ifdef _LP64 #ifdef _LP64

View file

@ -151,7 +151,6 @@ inline int g_isfinite(jdouble f) { return _finite(f); }
#define PRAGMA_INTERFACE #define PRAGMA_INTERFACE
#define PRAGMA_IMPLEMENTATION #define PRAGMA_IMPLEMENTATION
#define PRAGMA_IMPLEMENTATION_(arg) #define PRAGMA_IMPLEMENTATION_(arg)
#define VALUE_OBJ_CLASS_SPEC : public _ValueObj
// Formatting. // Formatting.
#define FORMAT64_MODIFIER "I64" #define FORMAT64_MODIFIER "I64"

View file

@ -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. * Copyright (c) 2012, 2017 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -129,7 +129,6 @@ inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }
// Portability macros // Portability macros
#define PRAGMA_INTERFACE #pragma interface #define PRAGMA_INTERFACE #pragma interface
#define PRAGMA_IMPLEMENTATION #pragma implementation #define PRAGMA_IMPLEMENTATION #pragma implementation
#define VALUE_OBJ_CLASS_SPEC
// Formatting. // Formatting.
#ifdef _LP64 #ifdef _LP64

View file

@ -530,7 +530,7 @@ TEST_VM_F(OopStorageTest, invalid_pointer) {
} }
#endif // DISABLE_GARBAGE_ALLOCATION_STATUS_TESTS #endif // DISABLE_GARBAGE_ALLOCATION_STATUS_TESTS
class OopStorageTest::CountingIterateClosure VALUE_OBJ_CLASS_SPEC { class OopStorageTest::CountingIterateClosure {
public: public:
size_t _const_count; size_t _const_count;
size_t _const_non_null; size_t _const_non_null;
@ -672,7 +672,7 @@ const unsigned char OopStorageTestIteration::mark_invalid;
const unsigned char OopStorageTestIteration::mark_const; const unsigned char OopStorageTestIteration::mark_const;
const unsigned char OopStorageTestIteration::mark_non_const; const unsigned char OopStorageTestIteration::mark_non_const;
class OopStorageTestIteration::VerifyState VALUE_OBJ_CLASS_SPEC { class OopStorageTestIteration::VerifyState {
public: public:
unsigned char _expected_mark; unsigned char _expected_mark;
const oop* const* _entries; const oop* const* _entries;
@ -742,7 +742,7 @@ private:
} }
}; };
class OopStorageTestIteration::VerifyFn VALUE_OBJ_CLASS_SPEC { class OopStorageTestIteration::VerifyFn {
public: public:
VerifyFn(VerifyState* state, uint worker_id = 0) : VerifyFn(VerifyState* state, uint worker_id = 0) :
_state(state), _state(state),
@ -762,7 +762,7 @@ private:
uint _worker_id; uint _worker_id;
}; };
class OopStorageTestIteration::VerifyClosure VALUE_OBJ_CLASS_SPEC { class OopStorageTestIteration::VerifyClosure {
public: public:
VerifyClosure(VerifyState* state, uint worker_id = 0) : VerifyClosure(VerifyState* state, uint worker_id = 0) :
_state(state), _state(state),