changeset 49369:601146c66cad

8173070: Remove ValueObj class for allocation subclassing for runtime code Reviewed-by: stefank, tschatzl, stuefe
author coleenp
date Fri, 09 Mar 2018 10:46:02 -0500
parents 7be58576e71a
children f95ef5511e1f
files src/hotspot/cpu/aarch64/assembler_aarch64.hpp src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp src/hotspot/cpu/arm/assembler_arm.hpp src/hotspot/cpu/arm/assembler_arm_32.hpp src/hotspot/cpu/arm/assembler_arm_64.hpp src/hotspot/cpu/arm/macroAssembler_arm.hpp src/hotspot/cpu/arm/nativeInst_arm_32.hpp src/hotspot/cpu/arm/nativeInst_arm_64.hpp src/hotspot/cpu/ppc/assembler_ppc.hpp src/hotspot/cpu/ppc/nativeInst_ppc.hpp src/hotspot/cpu/s390/assembler_s390.hpp src/hotspot/cpu/s390/nativeInst_s390.hpp src/hotspot/cpu/sparc/macroAssembler_sparc.hpp src/hotspot/cpu/sparc/nativeInst_sparc.hpp src/hotspot/cpu/x86/assembler_x86.hpp src/hotspot/cpu/x86/c1_FpuStackSim_x86.hpp src/hotspot/cpu/x86/c1_LinearScan_x86.hpp src/hotspot/cpu/x86/nativeInst_x86.hpp src/hotspot/cpu/zero/nativeInst_zero.hpp src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.inline.hpp src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.inline.hpp src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.inline.hpp src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.inline.hpp src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.inline.hpp src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.inline.hpp src/hotspot/os_cpu/solaris_sparc/atomic_solaris_sparc.hpp src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.inline.hpp src/hotspot/share/classfile/bytecodeAssembler.hpp src/hotspot/share/classfile/classFileParser.cpp src/hotspot/share/classfile/classFileParser.hpp src/hotspot/share/classfile/classLoaderData.hpp src/hotspot/share/classfile/compactHashtable.hpp src/hotspot/share/classfile/verificationType.hpp src/hotspot/share/classfile/verifier.hpp src/hotspot/share/interpreter/bytecode.hpp src/hotspot/share/interpreter/invocationCounter.hpp src/hotspot/share/interpreter/templateInterpreter.hpp src/hotspot/share/interpreter/templateTable.hpp src/hotspot/share/logging/log.hpp src/hotspot/share/logging/logDecorations.hpp src/hotspot/share/logging/logDecorators.hpp src/hotspot/share/logging/logMessageBuffer.hpp src/hotspot/share/logging/logOutputList.hpp src/hotspot/share/logging/logTagSet.hpp src/hotspot/share/memory/allocation.hpp src/hotspot/share/memory/filemap.hpp src/hotspot/share/memory/freeList.hpp src/hotspot/share/memory/heap.hpp src/hotspot/share/memory/memRegion.hpp src/hotspot/share/memory/metachunk.hpp src/hotspot/share/memory/metaspace.cpp src/hotspot/share/memory/metaspaceChunkFreeListSummary.hpp src/hotspot/share/memory/metaspaceShared.hpp src/hotspot/share/memory/virtualspace.hpp src/hotspot/share/metaprogramming/integralConstant.hpp src/hotspot/share/metaprogramming/primitiveConversions.hpp src/hotspot/share/oops/accessBackend.hpp src/hotspot/share/oops/constMethod.hpp src/hotspot/share/oops/constantPool.hpp src/hotspot/share/oops/cpCache.hpp src/hotspot/share/oops/fieldInfo.hpp src/hotspot/share/oops/generateOopMap.hpp src/hotspot/share/oops/instanceKlass.hpp src/hotspot/share/oops/klassVtable.hpp src/hotspot/share/oops/methodData.hpp src/hotspot/share/prims/jvmtiEnvThreadState.hpp src/hotspot/share/prims/jvmtiEventController.hpp src/hotspot/share/prims/jvmtiImpl.hpp src/hotspot/share/prims/jvmtiTagMap.cpp src/hotspot/share/prims/privilegedStack.hpp src/hotspot/share/runtime/arguments.hpp src/hotspot/share/runtime/atomic.hpp src/hotspot/share/runtime/basicLock.hpp src/hotspot/share/runtime/biasedLocking.hpp src/hotspot/share/runtime/extendedPC.hpp src/hotspot/share/runtime/fieldDescriptor.hpp src/hotspot/share/runtime/frame.hpp src/hotspot/share/runtime/handles.hpp src/hotspot/share/runtime/handshake.hpp src/hotspot/share/runtime/java.hpp src/hotspot/share/runtime/javaFrameAnchor.hpp src/hotspot/share/runtime/orderAccess.hpp src/hotspot/share/runtime/reflectionUtils.hpp src/hotspot/share/runtime/rtmLocking.hpp src/hotspot/share/runtime/timer.hpp src/hotspot/share/services/allocationSite.hpp src/hotspot/share/services/mallocTracker.hpp src/hotspot/share/services/memBaseline.hpp src/hotspot/share/services/memoryUsage.hpp src/hotspot/share/services/virtualMemoryTracker.hpp src/hotspot/share/utilities/accessFlags.hpp src/hotspot/share/utilities/bitMap.hpp src/hotspot/share/utilities/constantTag.hpp src/hotspot/share/utilities/elfFile.hpp src/hotspot/share/utilities/fakeRttiSupport.hpp src/hotspot/share/utilities/sizes.hpp src/hotspot/share/utilities/ticks.hpp
diffstat 98 files changed, 225 insertions(+), 271 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -37,7 +37,7 @@
 // secondary complication -- not all code employing C call convention
 // executes as x86 code though -- we generate some of it
 
-class Argument VALUE_OBJ_CLASS_SPEC {
+class Argument {
  public:
   enum {
     n_int_register_parameters_c   = 8,  // r0, r1, ... r7 (c_rarg0, c_rarg1, ...)
@@ -338,7 +338,7 @@
 static inline unsigned long uabs(int n) { return uabs((unsigned int)n); }
 
 // Addressing modes
-class Address VALUE_OBJ_CLASS_SPEC {
+class Address {
  public:
 
   enum mode { no_mode, base_plus_offset, pre, post, pcrel,
--- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -49,7 +49,7 @@
 // The base class for different kinds of native instruction abstractions.
 // Provides the primitive operations to manipulate code relative to this.
 
-class NativeInstruction VALUE_OBJ_CLASS_SPEC {
+class NativeInstruction {
   friend class Relocation;
   friend bool is_NativeCallTrampolineStub_at(address);
  public:
--- a/src/hotspot/cpu/arm/assembler_arm.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/arm/assembler_arm.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -76,7 +76,7 @@
 
 
 // ARM Addressing Modes 2 and 3 - Load and store
-class Address VALUE_OBJ_CLASS_SPEC {
+class Address {
  private:
   Register  _base;
   Register  _index;
@@ -334,7 +334,7 @@
 };
 
 #ifdef COMPILER2
-class VFP VALUE_OBJ_CLASS_SPEC {
+class VFP {
   // Helper classes to detect whether a floating point constant can be
   // encoded in a fconstd or fconsts instruction
   // The conversion from the imm8, 8 bit constant, to the floating
--- a/src/hotspot/cpu/arm/assembler_arm_32.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/arm/assembler_arm_32.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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,7 @@
 #define CPU_ARM_VM_ASSEMBLER_ARM_32_HPP
 
 // ARM Addressing Mode 1 - Data processing operands
-class AsmOperand VALUE_OBJ_CLASS_SPEC {
+class AsmOperand {
  private:
   int _encoding;
 
@@ -99,7 +99,7 @@
 
 
 // ARM Addressing Mode 4 - Load and store multiple
-class RegisterSet VALUE_OBJ_CLASS_SPEC {
+class RegisterSet {
  private:
   int _encoding;
 
@@ -155,7 +155,7 @@
 #endif
 
 // ARM Addressing Mode 5 - Load and store multiple VFP registers
-class FloatRegisterSet VALUE_OBJ_CLASS_SPEC {
+class FloatRegisterSet {
  private:
   int _encoding;
 
--- a/src/hotspot/cpu/arm/assembler_arm_64.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/arm/assembler_arm_64.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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,7 +53,7 @@
 };
 
 // Shifted register operand for data processing instructions.
-class AsmOperand VALUE_OBJ_CLASS_SPEC {
+class AsmOperand {
  private:
   Register _reg;
   AsmShift _shift;
--- a/src/hotspot/cpu/arm/macroAssembler_arm.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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 @@
 
 // Introduced AddressLiteral and its subclasses to ease portability from
 // x86 and avoid relocation issues
-class AddressLiteral VALUE_OBJ_CLASS_SPEC {
+class AddressLiteral {
   RelocationHolder _rspec;
   // Typically we use AddressLiterals we want to use their rval
   // However in some situations we want the lval (effect address) of the item.
@@ -1394,7 +1394,7 @@
 // The purpose of this class is to build several code fragments of the same size
 // in order to allow fast table branch.
 
-class FixedSizeCodeBlock VALUE_OBJ_CLASS_SPEC {
+class FixedSizeCodeBlock {
 public:
   FixedSizeCodeBlock(MacroAssembler* masm, int size_in_instrs, bool enabled);
   ~FixedSizeCodeBlock();
--- a/src/hotspot/cpu/arm/nativeInst_arm_32.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/arm/nativeInst_arm_32.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -47,7 +47,7 @@
 // back-end extensions or the actual instructions size.
 class NativeInstruction;
 
-class RawNativeInstruction VALUE_OBJ_CLASS_SPEC {
+class RawNativeInstruction {
  public:
 
   enum ARM_specific {
--- a/src/hotspot/cpu/arm/nativeInst_arm_64.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/arm/nativeInst_arm_64.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -45,7 +45,7 @@
 // back-end extensions or the actual instructions size.
 class NativeInstruction;
 
-class RawNativeInstruction VALUE_OBJ_CLASS_SPEC {
+class RawNativeInstruction {
  public:
 
   enum ARM_specific {
--- a/src/hotspot/cpu/ppc/assembler_ppc.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/ppc/assembler_ppc.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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.
  *
@@ -31,7 +31,7 @@
 // Address is an abstraction used to represent a memory location
 // as used in assembler instructions.
 // PPC instructions grok either baseReg + indexReg or baseReg + disp.
-class Address VALUE_OBJ_CLASS_SPEC {
+class Address {
  private:
   Register _base;         // Base register.
   Register _index;        // Index register.
@@ -64,7 +64,7 @@
   bool     is_const() const { return _base == noreg && _index == noreg; }
 };
 
-class AddressLiteral VALUE_OBJ_CLASS_SPEC {
+class AddressLiteral {
  private:
   address          _address;
   RelocationHolder _rspec;
@@ -117,7 +117,7 @@
 // with the PPC Application Binary Interface, or ABI. This is
 // often referred to as the native or C calling convention.
 
-class Argument VALUE_OBJ_CLASS_SPEC {
+class Argument {
  private:
   int _number;  // The number of the argument.
  public:
@@ -153,7 +153,7 @@
 
 #if !defined(ABI_ELFv2)
 // A ppc64 function descriptor.
-struct FunctionDescriptor VALUE_OBJ_CLASS_SPEC {
+struct FunctionDescriptor {
  private:
   address _entry;
   address _toc;
--- a/src/hotspot/cpu/ppc/nativeInst_ppc.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/ppc/nativeInst_ppc.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -45,7 +45,7 @@
 
 // The base class for different kinds of native instruction abstractions.
 // It provides the primitive operations to manipulate code relative to this.
-class NativeInstruction VALUE_OBJ_CLASS_SPEC {
+class NativeInstruction {
   friend class Relocation;
 
  public:
--- a/src/hotspot/cpu/s390/assembler_s390.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/s390/assembler_s390.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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.
  * Copyright (c) 2016, 2017 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -31,7 +31,7 @@
 // Immediate is an abstraction to represent the various immediate
 // operands which exist on z/Architecture. Neither this class nor
 // instances hereof have an own state. It consists of methods only.
-class Immediate VALUE_OBJ_CLASS_SPEC {
+class Immediate {
 
  public:
     static bool is_simm(int64_t x, unsigned int nbits) {
@@ -82,7 +82,7 @@
 // displacements which exist with addresses on z/ArchiTecture.
 // Neither this class nor instances hereof have an own state. It
 // consists of methods only.
-class Displacement VALUE_OBJ_CLASS_SPEC {
+class Displacement {
 
  public: // These tests are used outside the (Macro)Assembler world, e.g. in ad-file.
 
@@ -101,7 +101,7 @@
 // form they are used on z/Architecture for instructions which access
 // their operand with pc-relative addresses. Neither this class nor
 // instances hereof have an own state. It consists of methods only.
-class RelAddr VALUE_OBJ_CLASS_SPEC {
+class RelAddr {
 
  private: // No public use at all. Solely for (Macro)Assembler.
 
@@ -177,7 +177,7 @@
 //
 // Note: A register location is represented via a Register, not
 // via an address for efficiency & simplicity reasons.
-class Address VALUE_OBJ_CLASS_SPEC {
+class Address {
  private:
   Register _base;    // Base register.
   Register _index;   // Index register
@@ -275,7 +275,7 @@
   friend class Assembler;
 };
 
-class AddressLiteral VALUE_OBJ_CLASS_SPEC {
+class AddressLiteral {
  private:
   address          _address;
   RelocationHolder _rspec;
@@ -398,7 +398,7 @@
 // memory or in a register, in a manner consistent with the
 // z/Architecture Application Binary Interface, or ABI. This is often
 // referred to as the native or C calling convention.
-class Argument VALUE_OBJ_CLASS_SPEC {
+class Argument {
  private:
   int _number;
   bool _is_in;
--- a/src/hotspot/cpu/s390/nativeInst_s390.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/s390/nativeInst_s390.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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.
  * Copyright (c) 2016 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -72,7 +72,7 @@
 //  N a t i v e I n s t r u c t i o n
 //-------------------------------------
 
-class NativeInstruction VALUE_OBJ_CLASS_SPEC {
+class NativeInstruction {
   friend class Relocation;
 
  public:
--- a/src/hotspot/cpu/sparc/macroAssembler_sparc.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/sparc/macroAssembler_sparc.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -239,7 +239,7 @@
 // Note: A register location is represented via a Register, not
 //       via an address for efficiency & simplicity reasons.
 
-class Address VALUE_OBJ_CLASS_SPEC {
+class Address {
  private:
   Register           _base;           // Base register.
   RegisterOrConstant _index_or_disp;  // Index register or constant displacement.
@@ -320,7 +320,7 @@
 };
 
 
-class AddressLiteral VALUE_OBJ_CLASS_SPEC {
+class AddressLiteral {
  private:
   address          _address;
   RelocationHolder _rspec;
@@ -452,7 +452,7 @@
 // with the SPARC Application Binary Interface, or ABI.  This is
 // often referred to as the native or C calling convention.
 
-class Argument VALUE_OBJ_CLASS_SPEC {
+class Argument {
  private:
   int _number;
   bool _is_in;
--- a/src/hotspot/cpu/sparc/nativeInst_sparc.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/sparc/nativeInst_sparc.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -42,7 +42,7 @@
 // - - NativeIllegalInstruction
 // The base class for different kinds of native instruction abstractions.
 // Provides the primitive operations to manipulate code relative to this.
-class NativeInstruction VALUE_OBJ_CLASS_SPEC {
+class NativeInstruction {
   friend class Relocation;
 
  public:
--- a/src/hotspot/cpu/x86/assembler_x86.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/x86/assembler_x86.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -33,7 +33,7 @@
 // Contains all the definitions needed for x86 assembly code generation.
 
 // Calling convention
-class Argument VALUE_OBJ_CLASS_SPEC {
+class Argument {
  public:
   enum {
 #ifdef _LP64
@@ -155,7 +155,7 @@
 
 class ArrayAddress;
 
-class Address VALUE_OBJ_CLASS_SPEC {
+class Address {
  public:
   enum ScaleFactor {
     no_scale = -1,
@@ -333,7 +333,7 @@
 // on the instruction and the platform. As small step on the way to merging i486/amd64
 // directories.
 //
-class AddressLiteral VALUE_OBJ_CLASS_SPEC {
+class AddressLiteral {
   friend class ArrayAddress;
   RelocationHolder _rspec;
   // Typically we use AddressLiterals we want to use their rval
@@ -423,7 +423,7 @@
 // address amd64 can't. We create a class that expresses the concept but does extra
 // magic on amd64 to get the final result
 
-class ArrayAddress VALUE_OBJ_CLASS_SPEC {
+class ArrayAddress {
   private:
 
   AddressLiteral _base;
--- a/src/hotspot/cpu/x86/c1_FpuStackSim_x86.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/x86/c1_FpuStackSim_x86.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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,7 @@
 
 class Compilation;
 
-class FpuStackSim VALUE_OBJ_CLASS_SPEC {
+class FpuStackSim {
  private:
   Compilation* _compilation;
   int          _stack_size;
--- a/src/hotspot/cpu/x86/c1_LinearScan_x86.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/x86/c1_LinearScan_x86.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -122,7 +122,7 @@
 }
 
 
-class FpuStackAllocator VALUE_OBJ_CLASS_SPEC {
+class FpuStackAllocator {
  private:
   Compilation* _compilation;
   LinearScan* _allocator;
--- a/src/hotspot/cpu/x86/nativeInst_x86.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/x86/nativeInst_x86.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -50,7 +50,7 @@
 // The base class for different kinds of native instruction abstractions.
 // Provides the primitive operations to manipulate code relative to this.
 
-class NativeInstruction VALUE_OBJ_CLASS_SPEC {
+class NativeInstruction {
   friend class Relocation;
 
  public:
--- a/src/hotspot/cpu/zero/nativeInst_zero.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/cpu/zero/nativeInst_zero.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2007 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -46,7 +46,7 @@
 // The base class for different kinds of native instruction abstractions.
 // Provides the primitive operations to manipulate code relative to this.
 
-class NativeInstruction VALUE_OBJ_CLASS_SPEC {
+class NativeInstruction {
  public:
   bool is_jump() {
     ShouldNotCallThis();
--- a/src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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.
  * Copyright (c) 2012, 2014 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -80,7 +80,6 @@
 
 template<size_t byte_size>
 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const { register T t = Atomic::load(p); inlasm_acquire_reg(t); return t; }
--- a/src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -65,7 +65,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<1, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -78,7 +77,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<2, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -91,7 +89,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<4, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -105,7 +102,6 @@
 #ifdef AMD64
 template<>
 struct OrderAccess::PlatformOrderedStore<8, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
--- a/src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -52,7 +52,6 @@
 
 template<size_t byte_size>
 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const { T data; __atomic_load(p, &data, __ATOMIC_ACQUIRE); return data; }
@@ -60,7 +59,6 @@
 
 template<size_t byte_size>
 struct OrderAccess::PlatformOrderedStore<byte_size, RELEASE_X>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const { __atomic_store(p, &v, __ATOMIC_RELEASE); }
@@ -68,7 +66,6 @@
 
 template<size_t byte_size>
 struct OrderAccess::PlatformOrderedStore<byte_size, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const { release_store(p, v); fence(); }
--- a/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -132,7 +132,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedLoad<1, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const {
@@ -148,7 +147,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedLoad<2, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const {
@@ -164,7 +162,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedLoad<4, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const {
@@ -180,7 +177,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedLoad<8, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const {
@@ -196,7 +192,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<1, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -210,7 +205,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<2, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -224,7 +218,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<4, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -238,7 +231,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<8, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
--- a/src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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.
  * Copyright (c) 2012, 2014 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -83,7 +83,6 @@
 
 template<size_t byte_size>
 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const { register T t = Atomic::load(p); inlasm_acquire_reg(t); return t; }
--- a/src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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.
  * Copyright (c) 2016 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -76,7 +76,6 @@
 
 template<size_t byte_size>
 struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   T operator()(const volatile T* p) const { register T t = *p; inlasm_zarch_acquire(); return t; }
--- a/src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -61,7 +61,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<1, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -74,7 +73,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<2, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -87,7 +85,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<4, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -101,7 +98,6 @@
 #ifdef AMD64
 template<>
 struct OrderAccess::PlatformOrderedStore<8, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
--- a/src/hotspot/os_cpu/solaris_sparc/atomic_solaris_sparc.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/solaris_sparc/atomic_solaris_sparc.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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,7 +29,7 @@
 
 // Implement ADD using a CAS loop.
 template<size_t byte_size>
-struct Atomic::PlatformAdd VALUE_OBJ_CLASS_SPEC {
+struct Atomic::PlatformAdd {
   template<typename I, typename D>
   inline D operator()(I add_value, D volatile* dest) const {
     D old_value = *dest;
--- a/src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.inline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.inline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -75,7 +75,6 @@
 #ifndef AMD64
 template<>
 struct OrderAccess::PlatformOrderedStore<1, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -89,7 +88,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<2, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
@@ -103,7 +101,6 @@
 
 template<>
 struct OrderAccess::PlatformOrderedStore<4, RELEASE_X_FENCE>
-  VALUE_OBJ_CLASS_SPEC
 {
   template <typename T>
   void operator()(T v, volatile T* p) const {
--- a/src/hotspot/share/classfile/bytecodeAssembler.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/classfile/bytecodeAssembler.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2015, 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
@@ -51,7 +51,7 @@
 };
 
 // Entries in a yet-to-be-created constant pool.  Limited types for now.
-class BytecodeCPEntry VALUE_OBJ_CLASS_SPEC {
+class BytecodeCPEntry {
  public:
   enum tag {
     ERROR_TAG,
--- a/src/hotspot/share/classfile/classFileParser.cpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/classfile/classFileParser.cpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1858,7 +1858,7 @@
 
 
 // Class file LocalVariableTable elements.
-class Classfile_LVT_Element VALUE_OBJ_CLASS_SPEC {
+class Classfile_LVT_Element {
  public:
   u2 start_bci;
   u2 length;
--- a/src/hotspot/share/classfile/classFileParser.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/classfile/classFileParser.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -49,7 +49,7 @@
 //
 // The bytes describing the class file structure is read from a Stream object
 
-class ClassFileParser VALUE_OBJ_CLASS_SPEC {
+class ClassFileParser {
 
  class ClassAnnotationCollector;
  class FieldAllocationCount;
--- a/src/hotspot/share/classfile/classLoaderData.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/classfile/classLoaderData.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -182,7 +182,7 @@
   friend class VMStructs;
 
  private:
-  class ChunkedHandleList VALUE_OBJ_CLASS_SPEC {
+  class ChunkedHandleList {
     struct Chunk : public CHeapObj<mtClass> {
       static const size_t CAPACITY = 32;
 
--- a/src/hotspot/share/classfile/compactHashtable.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/classfile/compactHashtable.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -35,7 +35,7 @@
 class SerializeClosure;
 
 // Stats for symbol tables in the CDS archive
-class CompactHashtableStats VALUE_OBJ_CLASS_SPEC {
+class CompactHashtableStats {
 public:
   int hashentry_count;
   int hashentry_bytes;
@@ -71,7 +71,7 @@
 //
 class CompactHashtableWriter: public StackObj {
 public:
-  class Entry VALUE_OBJ_CLASS_SPEC {
+  class Entry {
     unsigned int _hash;
     u4 _value;
 
@@ -194,7 +194,7 @@
 // See CompactHashtableWriter::dump() for how the table is written at CDS
 // dump time.
 //
-class SimpleCompactHashtable VALUE_OBJ_CLASS_SPEC {
+class SimpleCompactHashtable {
 protected:
   address  _base_address;
   u4  _bucket_count;
@@ -281,7 +281,7 @@
 // Because the dump file may be big (hundred of MB in extreme cases),
 // we use mmap for fast access when reading it.
 //
-class HashtableTextDump VALUE_OBJ_CLASS_SPEC {
+class HashtableTextDump {
   int _fd;
   const char* _base;
   const char* _p;
--- a/src/hotspot/share/classfile/verificationType.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/classfile/verificationType.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -49,7 +49,7 @@
 
 class ClassVerifier;
 
-class VerificationType VALUE_OBJ_CLASS_SPEC {
+class VerificationType {
   private:
     // Least significant bits of _handle are always 0, so we use these as
     // the indicator that the _handle is valid.  Otherwise, the _data field
--- a/src/hotspot/share/classfile/verifier.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/classfile/verifier.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -96,7 +96,7 @@
 #define CHECK_VERIFY_(verifier, result) \
   CHECK_(result)); if ((verifier)->has_error()) return (result); ((void)0
 
-class TypeOrigin VALUE_OBJ_CLASS_SPEC {
+class TypeOrigin {
  private:
   typedef enum {
     CF_LOCALS,  // Comes from the current frame locals
@@ -146,7 +146,7 @@
 #endif
 };
 
-class ErrorContext VALUE_OBJ_CLASS_SPEC {
+class ErrorContext {
  private:
   typedef enum {
     INVALID_BYTECODE,     // There was a problem with the bytecode
--- a/src/hotspot/share/interpreter/bytecode.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/interpreter/bytecode.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -129,7 +129,7 @@
 
 
 // Abstractions for lookupswitch bytecode
-class LookupswitchPair VALUE_OBJ_CLASS_SPEC {
+class LookupswitchPair {
  private:
   const address _bcp;
 
--- a/src/hotspot/share/interpreter/invocationCounter.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/interpreter/invocationCounter.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -38,7 +38,7 @@
 // more significant bits. The counter is incremented before a method is activated and an
 // action is triggered when count() > limit().
 
-class InvocationCounter VALUE_OBJ_CLASS_SPEC {
+class InvocationCounter {
   friend class VMStructs;
   friend class JVMCIVMStructs;
   friend class ciReplay;
--- a/src/hotspot/share/interpreter/templateInterpreter.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/interpreter/templateInterpreter.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -40,7 +40,7 @@
 // A little wrapper class to group tosca-specific entry points into a unit.
 // (tosca = Top-Of-Stack CAche)
 
-class EntryPoint VALUE_OBJ_CLASS_SPEC {
+class EntryPoint {
  private:
   address _entry[number_of_states];
 
@@ -62,7 +62,7 @@
 //------------------------------------------------------------------------------------------------------------------------
 // A little wrapper class to group tosca-specific dispatch tables into a unit.
 
-class DispatchTable VALUE_OBJ_CLASS_SPEC {
+class DispatchTable {
  public:
   enum { length = 1 << BitsPerByte };                 // an entry point for each byte value (also for undefined bytecodes)
 
--- a/src/hotspot/share/interpreter/templateTable.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/interpreter/templateTable.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -41,7 +41,7 @@
 // A Template describes the properties of a code template for a given bytecode
 // and provides a generator to generate the code template.
 
-class Template VALUE_OBJ_CLASS_SPEC {
+class Template {
  private:
   enum Flags {
     uses_bcp_bit,                                // set if template needs the bcp pointing to bytecode
--- a/src/hotspot/share/logging/log.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/logging/log.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -110,7 +110,7 @@
 
 template <LogTagType T0, LogTagType T1 = LogTag::__NO_TAG, LogTagType T2 = LogTag::__NO_TAG, LogTagType T3 = LogTag::__NO_TAG,
           LogTagType T4 = LogTag::__NO_TAG, LogTagType GuardTag = LogTag::__NO_TAG>
-class LogImpl VALUE_OBJ_CLASS_SPEC {
+class LogImpl {
  private:
   static const size_t LogBufferSize = 512;
  public:
--- a/src/hotspot/share/logging/logDecorations.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/logging/logDecorations.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -29,7 +29,7 @@
 #include "memory/allocation.hpp"
 
 // Temporary object containing the necessary data for a log call's decorations (timestamps, etc).
-class LogDecorations VALUE_OBJ_CLASS_SPEC {
+class LogDecorations {
  public:
   static const int DecorationsBufferSize = 256;
  private:
--- a/src/hotspot/share/logging/logDecorators.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/logging/logDecorators.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -57,7 +57,7 @@
 // each log message for a given output. Decorators are always prepended in the order
 // declared above. For example, logging with 'uptime, level, tags' decorators results in:
 // [0,943s][info   ][logging] message.
-class LogDecorators VALUE_OBJ_CLASS_SPEC {
+class LogDecorators {
  public:
   enum Decorator {
 #define DECORATOR(name, abbr) name##_decorator,
--- a/src/hotspot/share/logging/logMessageBuffer.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/logging/logMessageBuffer.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -31,7 +31,7 @@
 class LogMessageBuffer : public StackObj {
   friend class LogMessageTest;
  protected:
-  struct LogLine VALUE_OBJ_CLASS_SPEC {
+  struct LogLine {
     LogLevelType level;
     size_t message_offset;
   };
--- a/src/hotspot/share/logging/logOutputList.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/logging/logOutputList.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -44,7 +44,7 @@
 // To remove a node from the list the node must first be unlinked,
 // and the memory for that node can be freed whenever the removing
 // thread observes an active reader count of 0 (after unlinking it).
-class LogOutputList VALUE_OBJ_CLASS_SPEC {
+class LogOutputList {
  private:
   struct LogOutputNode : public CHeapObj<mtLogging> {
     LogOutput*      _value;
@@ -88,7 +88,7 @@
   // Set (add/update/remove) the output to the specified level.
   void set_output_level(LogOutput* output, LogLevelType level);
 
-  class Iterator VALUE_OBJ_CLASS_SPEC {
+  class Iterator {
     friend class LogOutputList;
    private:
     LogOutputNode*  _current;
--- a/src/hotspot/share/logging/logTagSet.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/logging/logTagSet.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -36,7 +36,7 @@
 // The tagset represents a combination of tags that occur in a log call somewhere.
 // Tagsets are created automatically by the LogTagSetMappings and should never be
 // instantiated directly somewhere else.
-class LogTagSet VALUE_OBJ_CLASS_SPEC {
+class LogTagSet {
  private:
   static LogTagSet* _list;
   static size_t _ntagsets;
--- a/src/hotspot/share/memory/allocation.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/allocation.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -196,14 +196,12 @@
 // 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
-// of this object, but use the VALUE_OBJ_CLASS_SPEC class instead, e.g.,
 // like this:
 //
-//   class A VALUE_OBJ_CLASS_SPEC {
+//   class A {
 //     ...
 //   }
 //
-// With gcc and possible other compilers the VALUE_OBJ_CLASS_SPEC can
 // be defined as a an empty string "".
 //
 class _ValueObj {
--- a/src/hotspot/share/memory/filemap.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/filemap.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -42,7 +42,7 @@
 
 static const int JVM_IDENT_MAX = 256;
 
-class SharedClassPathEntry VALUE_OBJ_CLASS_SPEC {
+class SharedClassPathEntry {
 protected:
   bool   _is_dir;
   time_t _timestamp;          // jar/jimage timestamp,  0 if is directory or other
--- a/src/hotspot/share/memory/freeList.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/freeList.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -42,7 +42,7 @@
 class Mutex;
 
 template <class Chunk_t>
-class FreeList VALUE_OBJ_CLASS_SPEC {
+class FreeList {
   friend class CompactibleFreeListSpace;
   friend class VMStructs;
 
--- a/src/hotspot/share/memory/heap.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/heap.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, 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
@@ -32,7 +32,7 @@
 
 // Blocks
 
-class HeapBlock VALUE_OBJ_CLASS_SPEC {
+class HeapBlock {
   friend class VMStructs;
 
  public:
--- a/src/hotspot/share/memory/memRegion.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/memRegion.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, 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
@@ -40,7 +40,7 @@
 
 class MetaWord;
 
-class MemRegion VALUE_OBJ_CLASS_SPEC {
+class MemRegion {
   friend class VMStructs;
 private:
   HeapWord* _start;
--- a/src/hotspot/share/memory/metachunk.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/metachunk.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2016, 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
@@ -33,7 +33,7 @@
 // Super class of Metablock and Metachunk to allow them to
 // be put on the FreeList and in the BinaryTreeDictionary.
 template <class T>
-class Metabase VALUE_OBJ_CLASS_SPEC {
+class Metabase {
   size_t _word_size;
   T*     _next;
   T*     _prev;
--- a/src/hotspot/share/memory/metaspace.cpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/metaspace.cpp	Fri Mar 09 10:46:02 2018 -0500
@@ -3141,7 +3141,7 @@
   }
 }
 
-class MetadataStats VALUE_OBJ_CLASS_SPEC {
+class MetadataStats {
 private:
   size_t _capacity;
   size_t _used;
--- a/src/hotspot/share/memory/metaspaceChunkFreeListSummary.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/metaspaceChunkFreeListSummary.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -27,7 +27,7 @@
 
 #include "memory/allocation.hpp"
 
-class MetaspaceChunkFreeListSummary VALUE_OBJ_CLASS_SPEC {
+class MetaspaceChunkFreeListSummary {
   size_t _num_specialized_chunks;
   size_t _num_small_chunks;
   size_t _num_medium_chunks;
--- a/src/hotspot/share/memory/metaspaceShared.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/metaspaceShared.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -38,7 +38,7 @@
 
 class FileMapInfo;
 
-class MetaspaceSharedStats VALUE_OBJ_CLASS_SPEC {
+class MetaspaceSharedStats {
 public:
   MetaspaceSharedStats() {
     memset(this, 0, sizeof(*this));
--- a/src/hotspot/share/memory/virtualspace.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/memory/virtualspace.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -29,7 +29,7 @@
 
 // ReservedSpace is a data structure for reserving a contiguous address range.
 
-class ReservedSpace VALUE_OBJ_CLASS_SPEC {
+class ReservedSpace {
   friend class VMStructs;
  protected:
   char*  _base;
@@ -133,7 +133,7 @@
 
 // VirtualSpace is data structure for committing a previously reserved address range in smaller chunks.
 
-class VirtualSpace VALUE_OBJ_CLASS_SPEC {
+class VirtualSpace {
   friend class VMStructs;
  private:
   // Reserved area
--- a/src/hotspot/share/metaprogramming/integralConstant.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/metaprogramming/integralConstant.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -44,7 +44,7 @@
 // T is an integral type, and is the value_type.
 // v is an integral constant, and is the value.
 template<typename T, T v>
-struct IntegralConstant VALUE_OBJ_CLASS_SPEC {
+struct IntegralConstant {
   typedef T value_type;
   static const value_type value = v;
   typedef IntegralConstant<T, v> type;
--- a/src/hotspot/share/metaprogramming/primitiveConversions.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/metaprogramming/primitiveConversions.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -104,7 +104,7 @@
 
 // Give an informative error if the sizes differ.
 template<typename T, typename U>
-struct PrimitiveConversions::Cast<T, U, false> VALUE_OBJ_CLASS_SPEC {
+struct PrimitiveConversions::Cast<T, U, false> {
   STATIC_ASSERT(sizeof(T) == sizeof(U));
 };
 
@@ -113,7 +113,6 @@
 struct PrimitiveConversions::Cast<
   T, U, true,
   typename EnableIf<IsIntegral<T>::value && IsIntegral<U>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(U x) const { return cast_using_union<T>(x); }
 };
@@ -125,7 +124,6 @@
   typename EnableIf<IsIntegral<T>::value &&
                     (IsRegisteredEnum<U>::value ||
                      IsFloatingPoint<U>::value)>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(U x) const { return cast_using_union<T>(x); }
 };
@@ -137,7 +135,6 @@
   typename EnableIf<IsIntegral<U>::value &&
                     (IsRegisteredEnum<T>::value ||
                      IsFloatingPoint<T>::value)>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(U x) const { return cast_using_union<T>(x); }
 };
@@ -147,7 +144,6 @@
 struct PrimitiveConversions::Cast<
   T, U*, true,
   typename EnableIf<IsIntegral<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(U* x) const { return reinterpret_cast<T>(x); }
 };
@@ -157,7 +153,6 @@
 struct PrimitiveConversions::Cast<
   T*, U, true,
   typename EnableIf<IsIntegral<U>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T* operator()(U x) const { return reinterpret_cast<T*>(x); }
 };
--- a/src/hotspot/share/oops/accessBackend.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/accessBackend.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -130,7 +130,7 @@
   template <DecoratorSet decorators, typename T, BarrierType barrier_type>
   typename AccessFunction<decorators, T, barrier_type>::type resolve_oop_barrier();
 
-  class AccessLocker VALUE_OBJ_CLASS_SPEC {
+  class AccessLocker {
   public:
     AccessLocker();
     ~AccessLocker();
--- a/src/hotspot/share/oops/constMethod.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/constMethod.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -88,14 +88,14 @@
 
 
 // Utility class describing elements in checked exceptions table inlined in Method*.
-class CheckedExceptionElement VALUE_OBJ_CLASS_SPEC {
+class CheckedExceptionElement {
  public:
   u2 class_cp_index;
 };
 
 
 // Utility class describing elements in local variable table inlined in Method*.
-class LocalVariableTableElement VALUE_OBJ_CLASS_SPEC {
+class LocalVariableTableElement {
  public:
   u2 start_bci;
   u2 length;
@@ -106,7 +106,7 @@
 };
 
 // Utility class describing elements in exception table
-class ExceptionTableElement VALUE_OBJ_CLASS_SPEC {
+class ExceptionTableElement {
  public:
   u2 start_pc;
   u2 end_pc;
@@ -115,7 +115,7 @@
 };
 
 // Utility class describing elements in method parameters
-class MethodParametersElement VALUE_OBJ_CLASS_SPEC {
+class MethodParametersElement {
  public:
   u2 name_cp_index;
   u2 flags;
--- a/src/hotspot/share/oops/constantPool.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/constantPool.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -48,7 +48,7 @@
 
 class SymbolHashMap;
 
-class CPSlot VALUE_OBJ_CLASS_SPEC {
+class CPSlot {
  friend class ConstantPool;
   intptr_t _ptr;
   enum TagBits  {_pseudo_bit = 1};
@@ -67,7 +67,7 @@
 
 // This represents a JVM_CONSTANT_Class, JVM_CONSTANT_UnresolvedClass, or
 // JVM_CONSTANT_UnresolvedClassInError slot in the constant pool.
-class CPKlassSlot VALUE_OBJ_CLASS_SPEC {
+class CPKlassSlot {
   // cp->symbol_at(_name_index) gives the name of the class.
   int _name_index;
 
--- a/src/hotspot/share/oops/cpCache.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/cpCache.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -129,7 +129,7 @@
 
 class CallInfo;
 
-class ConstantPoolCacheEntry VALUE_OBJ_CLASS_SPEC {
+class ConstantPoolCacheEntry {
   friend class VMStructs;
   friend class constantPoolCacheKlass;
   friend class ConstantPool;
--- a/src/hotspot/share/oops/fieldInfo.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/fieldInfo.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -35,7 +35,7 @@
 // array type.  FieldInfo generally shouldn't be used directly.
 // Fields should be queried either through InstanceKlass or through
 // the various FieldStreams.
-class FieldInfo VALUE_OBJ_CLASS_SPEC {
+class FieldInfo {
   friend class fieldDescriptor;
   friend class JavaFieldStream;
   friend class ClassFileParser;
--- a/src/hotspot/share/oops/generateOopMap.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/generateOopMap.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -71,7 +71,7 @@
 };
 
 
-class RetTable VALUE_OBJ_CLASS_SPEC {
+class RetTable {
  private:
   RetTableEntry *_first;
   static int _init_nof_entries;
@@ -87,7 +87,7 @@
 //
 // CellTypeState
 //
-class CellTypeState VALUE_OBJ_CLASS_SPEC {
+class CellTypeState {
  private:
   unsigned int _state;
 
@@ -288,7 +288,7 @@
 //
 // Main class used to compute the pointer-maps in a Method
 //
-class GenerateOopMap VALUE_OBJ_CLASS_SPEC {
+class GenerateOopMap {
  protected:
 
   // _monitor_top is set to this constant to indicate that a monitor matching
--- a/src/hotspot/share/oops/instanceKlass.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/instanceKlass.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -87,9 +87,8 @@
 };
 #endif  // !PRODUCT
 
-// ValueObjs embedded in klass. Describes where oops are located in instances of
-// this klass.
-class OopMapBlock VALUE_OBJ_CLASS_SPEC {
+// Describes where oops are located in instances of this klass.
+class OopMapBlock {
  public:
   // Byte offset of the first oop mapped by this block.
   int offset() const          { return _offset; }
--- a/src/hotspot/share/oops/klassVtable.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/klassVtable.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -41,7 +41,7 @@
 
 class vtableEntry;
 
-class klassVtable VALUE_OBJ_CLASS_SPEC {
+class klassVtable {
   Klass*       _klass;            // my klass
   int          _tableOffset;      // offset of start of vtable data within klass
   int          _length;           // length of vtable (number of entries)
@@ -188,7 +188,7 @@
 //    destination is compiled:
 //      from_compiled_code_entry_point -> nmethod entry point
 //      from_interpreter_entry_point   -> i2cadapter
-class vtableEntry VALUE_OBJ_CLASS_SPEC {
+class vtableEntry {
   friend class VMStructs;
   friend class JVMCIVMStructs;
 
@@ -234,7 +234,7 @@
 class klassItable;
 class itableMethodEntry;
 
-class itableOffsetEntry VALUE_OBJ_CLASS_SPEC {
+class itableOffsetEntry {
  private:
   Klass* _interface;
   int      _offset;
@@ -257,7 +257,7 @@
 };
 
 
-class itableMethodEntry VALUE_OBJ_CLASS_SPEC {
+class itableMethodEntry {
  private:
   Method* _method;
 
@@ -294,7 +294,7 @@
 //    -- vtable for interface 2 ---
 //    ...
 //
-class klassItable VALUE_OBJ_CLASS_SPEC {
+class klassItable {
  private:
   InstanceKlass*       _klass;             // my klass
   int                  _table_offset;      // offset of start of itable data within klass (in words)
--- a/src/hotspot/share/oops/methodData.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/oops/methodData.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -74,7 +74,7 @@
 // DataLayout
 //
 // Overlay for generic profiling data.
-class DataLayout VALUE_OBJ_CLASS_SPEC {
+class DataLayout {
   friend class VMStructs;
   friend class JVMCIVMStructs;
 
--- a/src/hotspot/share/prims/jvmtiEnvThreadState.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/prims/jvmtiEnvThreadState.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -47,7 +47,7 @@
 // overkill as a means to get an assert and name the geater than
 // operator.  I'm trying to to rewrite everything.
 
-class JvmtiFramePop VALUE_OBJ_CLASS_SPEC {
+class JvmtiFramePop {
  private:
   // Frame number counting from BOTTOM (oldest) frame;
   // bottom frame == #0
--- a/src/hotspot/share/prims/jvmtiEventController.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/prims/jvmtiEventController.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -75,7 +75,7 @@
 // for inlines see jvmtiEventController_inline.hpp
 //
 
-class JvmtiEventEnabled VALUE_OBJ_CLASS_SPEC {
+class JvmtiEventEnabled {
 private:
   friend class JvmtiEventControllerPrivate;
   jlong _enabled_bits;
@@ -104,7 +104,7 @@
 // for inlines see jvmtiEventController_inline.hpp
 //
 
-class JvmtiEnvThreadEventEnable VALUE_OBJ_CLASS_SPEC {
+class JvmtiEnvThreadEventEnable {
 private:
   friend class JvmtiEventControllerPrivate;
   JvmtiEventEnabled _event_user_enabled;
@@ -127,7 +127,7 @@
 // for inlines see jvmtiEventController_inline.hpp
 //
 
-class JvmtiThreadEventEnable VALUE_OBJ_CLASS_SPEC {
+class JvmtiThreadEventEnable {
 private:
   friend class JvmtiEventControllerPrivate;
   JvmtiEventEnabled _event_enabled;
@@ -148,7 +148,7 @@
 // for inlines see jvmtiEventController_inline.hpp
 //
 
-class JvmtiEnvEventEnable VALUE_OBJ_CLASS_SPEC {
+class JvmtiEnvEventEnable {
 private:
   friend class JvmtiEventControllerPrivate;
 
--- a/src/hotspot/share/prims/jvmtiImpl.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/prims/jvmtiImpl.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -74,7 +74,7 @@
   virtual void metadata_do(void f(Metadata*)) =0;
 };
 
-class GrowableCache VALUE_OBJ_CLASS_SPEC {
+class GrowableCache {
 
 private:
   // Object pointer passed into cache & listener functions.
@@ -451,7 +451,7 @@
  * This is currently only used for posting compiled-method-load and unload
  * events, which we don't want posted from the compiler thread.
  */
-class JvmtiDeferredEvent VALUE_OBJ_CLASS_SPEC {
+class JvmtiDeferredEvent {
   friend class JvmtiDeferredEventQueue;
  private:
   typedef enum {
--- a/src/hotspot/share/prims/jvmtiTagMap.cpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/prims/jvmtiTagMap.cpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1762,7 +1762,7 @@
 
 // Base class for all heap walk contexts. The base class maintains a flag
 // to indicate if the context is valid or not.
-class HeapWalkContext VALUE_OBJ_CLASS_SPEC {
+class HeapWalkContext {
  private:
   bool _valid;
  public:
--- a/src/hotspot/share/prims/privilegedStack.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/prims/privilegedStack.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -30,7 +30,7 @@
 #include "runtime/vframe.hpp"
 #include "utilities/growableArray.hpp"
 
-class PrivilegedElement VALUE_OBJ_CLASS_SPEC {
+class PrivilegedElement {
  private:
   Klass*    _klass;                // klass for method
   oop       _privileged_context;   // context for operation
--- a/src/hotspot/share/runtime/arguments.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/arguments.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -167,7 +167,7 @@
 };
 
 // maintain an order of entry list of AgentLibrary
-class AgentLibraryList VALUE_OBJ_CLASS_SPEC {
+class AgentLibraryList {
  private:
   AgentLibrary*   _first;
   AgentLibrary*   _last;
--- a/src/hotspot/share/runtime/atomic.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/atomic.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -367,7 +367,6 @@
   T,
   PlatformOp,
   typename EnableIf<IsIntegral<T>::value || IsRegisteredEnum<T>::value || IsPointer<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(T const volatile* dest) const {
     // Forward to the platform handler for the size of T.
@@ -387,7 +386,6 @@
   T,
   PlatformOp,
   typename EnableIf<PrimitiveConversions::Translate<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(T const volatile* dest) const {
     typedef PrimitiveConversions::Translate<T> Translator;
@@ -405,7 +403,7 @@
 // supports wide atomics, then it has to use specialization
 // of Atomic::PlatformLoad for that wider size class.
 template<size_t byte_size>
-struct Atomic::PlatformLoad VALUE_OBJ_CLASS_SPEC {
+struct Atomic::PlatformLoad {
   template<typename T>
   T operator()(T const volatile* dest) const {
     STATIC_ASSERT(sizeof(T) <= sizeof(void*)); // wide atomics need specialization
@@ -421,7 +419,6 @@
   T, T,
   PlatformOp,
   typename EnableIf<IsIntegral<T>::value || IsRegisteredEnum<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   void operator()(T new_value, T volatile* dest) const {
     // Forward to the platform handler for the size of T.
@@ -439,7 +436,6 @@
   T*, D*,
   PlatformOp,
   typename EnableIf<Atomic::IsPointerConvertible<T*, D*>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   void operator()(T* new_value, D* volatile* dest) const {
     // Allow derived to base conversion, and adding cv-qualifiers.
@@ -459,7 +455,6 @@
   T, T,
   PlatformOp,
   typename EnableIf<PrimitiveConversions::Translate<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   void operator()(T new_value, T volatile* dest) const {
     typedef PrimitiveConversions::Translate<T> Translator;
@@ -477,7 +472,7 @@
 // supports wide atomics, then it has to use specialization
 // of Atomic::PlatformStore for that wider size class.
 template<size_t byte_size>
-struct Atomic::PlatformStore VALUE_OBJ_CLASS_SPEC {
+struct Atomic::PlatformStore {
   template<typename T>
   void operator()(T new_value,
                   T volatile* dest) const {
@@ -491,13 +486,13 @@
 // be complete.
 
 template<typename Derived>
-struct Atomic::FetchAndAdd VALUE_OBJ_CLASS_SPEC {
+struct Atomic::FetchAndAdd {
   template<typename I, typename D>
   D operator()(I add_value, D volatile* dest) const;
 };
 
 template<typename Derived>
-struct Atomic::AddAndFetch VALUE_OBJ_CLASS_SPEC {
+struct Atomic::AddAndFetch {
   template<typename I, typename D>
   D operator()(I add_value, D volatile* dest) const;
 };
@@ -541,7 +536,7 @@
 // specializations of the class.  The platform file is responsible for
 // providing those.
 template<size_t byte_size>
-struct Atomic::PlatformCmpxchg VALUE_OBJ_CLASS_SPEC {
+struct Atomic::PlatformCmpxchg {
   template<typename T>
   T operator()(T exchange_value,
                T volatile* dest,
@@ -552,7 +547,7 @@
 // Define the class before including platform file, which may use this
 // as a base class, requiring it be complete.  The definition is later
 // in this file, near the other definitions related to cmpxchg.
-struct Atomic::CmpxchgByteUsingInt VALUE_OBJ_CLASS_SPEC {
+struct Atomic::CmpxchgByteUsingInt {
   template<typename T>
   T operator()(T exchange_value,
                T volatile* dest,
@@ -566,7 +561,7 @@
 // specializations of the class.  The platform file is responsible for
 // providing those.
 template<size_t byte_size>
-struct Atomic::PlatformXchg VALUE_OBJ_CLASS_SPEC {
+struct Atomic::PlatformXchg {
   template<typename T>
   T operator()(T exchange_value,
                T volatile* dest) const;
@@ -605,7 +600,6 @@
                     IsIntegral<D>::value &&
                     (sizeof(I) <= sizeof(D)) &&
                     (IsSigned<I>::value == IsSigned<D>::value)>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   D operator()(I add_value, D volatile* dest) const {
     D addend = add_value;
@@ -617,7 +611,6 @@
 struct Atomic::AddImpl<
   I, P*,
   typename EnableIf<IsIntegral<I>::value && (sizeof(I) <= sizeof(P*))>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   P* operator()(I add_value, P* volatile* dest) const {
     STATIC_ASSERT(sizeof(intptr_t) == sizeof(P*));
@@ -640,7 +633,7 @@
 //
 // Use the ATOMIC_SHORT_PAIR macro (see macros.hpp) to get the desired alignment.
 template<>
-struct Atomic::AddImpl<short, short> VALUE_OBJ_CLASS_SPEC {
+struct Atomic::AddImpl<short, short> {
   short operator()(short add_value, short volatile* dest) const {
 #ifdef VM_LITTLE_ENDIAN
     assert((intx(dest) & 0x03) == 0x02, "wrong alignment");
@@ -707,7 +700,6 @@
 struct Atomic::CmpxchgImpl<
   T, T, T,
   typename EnableIf<IsIntegral<T>::value || IsRegisteredEnum<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(T exchange_value, T volatile* dest, T compare_value,
                cmpxchg_memory_order order) const {
@@ -734,7 +726,6 @@
   typename EnableIf<Atomic::IsPointerConvertible<T*, D*>::value &&
                     IsSame<typename RemoveCV<D>::type,
                            typename RemoveCV<U>::type>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   D* operator()(T* exchange_value, D* volatile* dest, U* compare_value,
                cmpxchg_memory_order order) const {
@@ -758,7 +749,6 @@
 struct Atomic::CmpxchgImpl<
   T, T, T,
   typename EnableIf<PrimitiveConversions::Translate<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(T exchange_value, T volatile* dest, T compare_value,
                cmpxchg_memory_order order) const {
@@ -830,7 +820,6 @@
 struct Atomic::XchgImpl<
   T, T,
   typename EnableIf<IsIntegral<T>::value || IsRegisteredEnum<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(T exchange_value, T volatile* dest) const {
     // Forward to the platform handler for the size of T.
@@ -847,7 +836,6 @@
 struct Atomic::XchgImpl<
   T*, D*,
   typename EnableIf<Atomic::IsPointerConvertible<T*, D*>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   D* operator()(T* exchange_value, D* volatile* dest) const {
     // Allow derived to base conversion, and adding cv-qualifiers.
@@ -867,7 +855,6 @@
 struct Atomic::XchgImpl<
   T, T,
   typename EnableIf<PrimitiveConversions::Translate<T>::value>::type>
-  VALUE_OBJ_CLASS_SPEC
 {
   T operator()(T exchange_value, T volatile* dest) const {
     typedef PrimitiveConversions::Translate<T> Translator;
--- a/src/hotspot/share/runtime/basicLock.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/basicLock.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2010, 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
@@ -28,7 +28,7 @@
 #include "oops/markOop.hpp"
 #include "runtime/handles.hpp"
 
-class BasicLock VALUE_OBJ_CLASS_SPEC {
+class BasicLock {
   friend class VMStructs;
   friend class JVMCIVMStructs;
  private:
@@ -54,7 +54,7 @@
 // alignment of the embedded BasicLock objects on such machines, we
 // put the embedded BasicLock at the beginning of the struct.
 
-class BasicObjectLock VALUE_OBJ_CLASS_SPEC {
+class BasicObjectLock {
   friend class VMStructs;
  private:
   BasicLock _lock;                                    // the lock, must be double word aligned
--- a/src/hotspot/share/runtime/biasedLocking.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/biasedLocking.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -108,7 +108,7 @@
 // again, a bulk heap sweep.
 
 // Biased locking counters
-class BiasedLockingCounters VALUE_OBJ_CLASS_SPEC {
+class BiasedLockingCounters {
  private:
   int _total_entry_count;
   int _biased_lock_entry_count;
--- a/src/hotspot/share/runtime/extendedPC.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/extendedPC.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2010, 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
@@ -31,7 +31,7 @@
 // An ExtendedPC contains the _pc from a signal handler in a platform
 // independent way.
 
-class ExtendedPC VALUE_OBJ_CLASS_SPEC {
+class ExtendedPC {
  private:
   address _pc;
 
--- a/src/hotspot/share/runtime/fieldDescriptor.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/fieldDescriptor.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -35,7 +35,7 @@
 // It needs the class constant pool to work (because it only holds indices into the pool
 // rather than the actual info).
 
-class fieldDescriptor VALUE_OBJ_CLASS_SPEC {
+class fieldDescriptor {
  private:
   AccessFlags         _access_flags;
   int                 _index; // the field index
--- a/src/hotspot/share/runtime/frame.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/frame.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -47,7 +47,7 @@
 // so that one physical frame can correspond to multiple source level
 // frames because of inlining.
 
-class frame VALUE_OBJ_CLASS_SPEC {
+class frame {
  private:
   // Instance variables:
   intptr_t* _sp; // stack pointer (from Thread::last_Java_sp)
@@ -426,7 +426,7 @@
 
 #ifndef PRODUCT
 // A simple class to describe a location on the stack
-class FrameValue VALUE_OBJ_CLASS_SPEC {
+class FrameValue {
  public:
   intptr_t* location;
   char* description;
--- a/src/hotspot/share/runtime/handles.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/handles.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -61,7 +61,7 @@
 // Base class for all handles. Provides overloading of frequently
 // used operators for ease of use.
 
-class Handle VALUE_OBJ_CLASS_SPEC {
+class Handle {
  private:
   oop* _handle;
 
--- a/src/hotspot/share/runtime/handshake.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/handshake.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -49,7 +49,7 @@
 // VM thread and JavaThread are serialized with the semaphore making sure
 // the operation is only done by either VM thread on behalf of the JavaThread
 // or the JavaThread itself.
-class HandshakeState VALUE_OBJ_CLASS_SPEC {
+class HandshakeState {
   HandshakeOperation* volatile _operation;
 
   Semaphore _semaphore;
--- a/src/hotspot/share/runtime/java.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/java.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -56,7 +56,7 @@
  * as defined by JEP-223, most of the code related to handle the version
  * string prior to JDK 1.6 was removed (partial initialization)
  */
-class JDK_Version VALUE_OBJ_CLASS_SPEC {
+class JDK_Version {
   friend class VMStructs;
   friend class Universe;
   friend void JDK_Version_init();
--- a/src/hotspot/share/runtime/javaFrameAnchor.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/javaFrameAnchor.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -34,7 +34,7 @@
 //
 class JavaThread;
 
-class JavaFrameAnchor VALUE_OBJ_CLASS_SPEC {
+class JavaFrameAnchor {
 // Too many friends...
 friend class CallNativeDirectNode;
 friend class OptoRuntime;
--- a/src/hotspot/share/runtime/orderAccess.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/orderAccess.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -296,7 +296,7 @@
 // generalized variant is used.
 
 template<size_t byte_size, ScopedFenceType type>
-struct OrderAccess::PlatformOrderedStore VALUE_OBJ_CLASS_SPEC {
+struct OrderAccess::PlatformOrderedStore {
   template <typename T>
   void operator()(T v, volatile T* p) const {
     ordered_store<T, type>(p, v);
@@ -304,7 +304,7 @@
 };
 
 template<size_t byte_size, ScopedFenceType type>
-struct OrderAccess::PlatformOrderedLoad VALUE_OBJ_CLASS_SPEC {
+struct OrderAccess::PlatformOrderedLoad {
   template <typename T>
   T operator()(const volatile T* p) const {
     return ordered_load<T, type>(p);
--- a/src/hotspot/share/runtime/reflectionUtils.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/reflectionUtils.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -44,7 +44,7 @@
 //      ...
 //    }
 
-class KlassStream VALUE_OBJ_CLASS_SPEC {
+class KlassStream {
  protected:
   InstanceKlass*      _klass;           // current klass/interface iterated over
   InstanceKlass*      _base_klass;      // initial klass/interface to iterate over
--- a/src/hotspot/share/runtime/rtmLocking.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/rtmLocking.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 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
@@ -62,7 +62,7 @@
 // supported for stack locks just like inflated locks.
 
 // RTM locking counters
-class RTMLockingCounters VALUE_OBJ_CLASS_SPEC {
+class RTMLockingCounters {
  private:
   uintx _total_count; // Total RTM locks count
   uintx _abort_count; // Total aborts count
--- a/src/hotspot/share/runtime/timer.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/runtime/timer.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -29,7 +29,7 @@
 
 // Timers for simple measurement.
 
-class elapsedTimer VALUE_OBJ_CLASS_SPEC {
+class elapsedTimer {
   friend class VMStructs;
  private:
   jlong _counter;
@@ -50,7 +50,7 @@
 };
 
 // TimeStamp is used for recording when an event took place.
-class TimeStamp VALUE_OBJ_CLASS_SPEC {
+class TimeStamp {
  private:
   jlong _counter;
  public:
--- a/src/hotspot/share/services/allocationSite.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/services/allocationSite.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 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
@@ -30,7 +30,7 @@
 
 // Allocation site represents a code path that makes a memory
 // allocation
-template <class E> class AllocationSite VALUE_OBJ_CLASS_SPEC {
+template <class E> class AllocationSite {
  private:
   NativeCallStack  _call_stack;
   E                e;
--- a/src/hotspot/share/services/mallocTracker.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/services/mallocTracker.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -38,7 +38,7 @@
  * records total memory allocation size and number of allocations.
  * The counters are updated atomically.
  */
-class MemoryCounter VALUE_OBJ_CLASS_SPEC {
+class MemoryCounter {
  private:
   volatile size_t   _count;
   volatile size_t   _size;
@@ -89,7 +89,7 @@
  * It includes the memory acquired through os::malloc()
  * call and arena's backing memory.
  */
-class MallocMemory VALUE_OBJ_CLASS_SPEC {
+class MallocMemory {
  private:
   MemoryCounter _malloc;
   MemoryCounter _arena;
@@ -242,7 +242,7 @@
  * which ensures 8-bytes alignment on 32-bit systems and 16-bytes on 64-bit systems (Product build).
  */
 
-class MallocHeader VALUE_OBJ_CLASS_SPEC {
+class MallocHeader {
 #ifdef _LP64
   size_t           _size      : 64;
   size_t           _flags     : 8;
--- a/src/hotspot/share/services/memBaseline.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/services/memBaseline.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -42,7 +42,7 @@
 /*
  * Baseline a memory snapshot
  */
-class MemBaseline VALUE_OBJ_CLASS_SPEC {
+class MemBaseline {
  public:
   enum BaselineThreshold {
     SIZE_THRESHOLD = K        // Only allocation size over this threshold will be baselined.
--- a/src/hotspot/share/services/memoryUsage.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/services/memoryUsage.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -44,7 +44,7 @@
 //     memory for memory management could be less than the amount of
 //     committed memory.  Its value may be undefined.
 
-class MemoryUsage VALUE_OBJ_CLASS_SPEC {
+class MemoryUsage {
 private:
   size_t _initSize;
   size_t _used;
--- a/src/hotspot/share/services/virtualMemoryTracker.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/services/virtualMemoryTracker.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -39,7 +39,7 @@
 /*
  * Virtual memory counter
  */
-class VirtualMemory VALUE_OBJ_CLASS_SPEC {
+class VirtualMemory {
  private:
   size_t     _reserved;
   size_t     _committed;
@@ -177,7 +177,7 @@
 /*
  * A virtual memory region
  */
-class VirtualMemoryRegion VALUE_OBJ_CLASS_SPEC {
+class VirtualMemoryRegion {
  private:
   address      _base_address;
   size_t       _size;
--- a/src/hotspot/share/utilities/accessFlags.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/utilities/accessFlags.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, 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
@@ -97,7 +97,7 @@
 };
 
 
-class AccessFlags VALUE_OBJ_CLASS_SPEC {
+class AccessFlags {
   friend class VMStructs;
  private:
   jint _flags;
--- a/src/hotspot/share/utilities/bitMap.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/utilities/bitMap.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -44,7 +44,7 @@
 //
 // The allocation of the backing storage for the BitMap are handled by
 // the subclasses. BitMap doesn't allocate or delete backing storage.
-class BitMap VALUE_OBJ_CLASS_SPEC {
+class BitMap {
   friend class BitMap2D;
 
  public:
@@ -381,7 +381,7 @@
 };
 
 // Convenience class wrapping BitMap which provides multiple bits per slot.
-class BitMap2D VALUE_OBJ_CLASS_SPEC {
+class BitMap2D {
  public:
   typedef BitMap::idx_t idx_t;          // Type used for bit and word indices.
   typedef BitMap::bm_word_t bm_word_t;  // Element type of array that
@@ -427,7 +427,7 @@
 
 // Closure for iterating over BitMaps
 
-class BitMapClosure VALUE_OBJ_CLASS_SPEC {
+class BitMapClosure {
  public:
   // Callback when bit in map is set.  Should normally return "true";
   // return of false indicates that the bitmap iteration should terminate.
--- a/src/hotspot/share/utilities/constantTag.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/utilities/constantTag.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -48,7 +48,7 @@
 };
 
 
-class constantTag VALUE_OBJ_CLASS_SPEC {
+class constantTag {
  private:
   jbyte _tag;
  public:
--- a/src/hotspot/share/utilities/elfFile.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/utilities/elfFile.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -76,7 +76,7 @@
 class ElfFuncDescTable;
 
 // ELF section, may or may not have cached data
-class ElfSection VALUE_OBJ_CLASS_SPEC {
+class ElfSection {
 private:
   Elf_Shdr      _section_hdr;
   void*         _section_data;
--- a/src/hotspot/share/utilities/fakeRttiSupport.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/utilities/fakeRttiSupport.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -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
@@ -49,7 +49,7 @@
 // bound on the size of a class hierarchy this utility can be used
 // with.
 template<typename T, typename TagType>
-class FakeRttiSupport VALUE_OBJ_CLASS_SPEC {
+class FakeRttiSupport {
   friend class VMStructs;
 public:
   // Construct with the indicated concrete tag, and include the
--- a/src/hotspot/share/utilities/sizes.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/utilities/sizes.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, 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
@@ -60,7 +60,7 @@
 
 #ifdef ASSERT
 
-class ByteSize VALUE_OBJ_CLASS_SPEC {
+class ByteSize {
  private:
   int _size;
 
@@ -92,7 +92,7 @@
 inline int      in_bytes(ByteSize x)  { return x._size; }
 
 
-class WordSize VALUE_OBJ_CLASS_SPEC {
+class WordSize {
  private:
   int _size;
 
--- a/src/hotspot/share/utilities/ticks.hpp	Fri Mar 09 08:01:25 2018 +0100
+++ b/src/hotspot/share/utilities/ticks.hpp	Fri Mar 09 10:46:02 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 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
@@ -30,7 +30,7 @@
 
 class Ticks;
 
-class Tickspan VALUE_OBJ_CLASS_SPEC {
+class Tickspan {
   friend class Ticks;
   friend Tickspan operator-(const Ticks& end, const Ticks& start);
 
@@ -53,7 +53,7 @@
 
 };
 
-class Ticks VALUE_OBJ_CLASS_SPEC {
+class Ticks {
  private:
   jlong _stamp_ticks;