JDK-6743059 : Error in spaceDecorator.cpp for "optimized" build.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-08-29
  • Updated: 2010-04-02
  • Resolved: 2008-10-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availabitlity Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u14Fixed 7Fixed hs14Fixed
An build of the optimized target fails with

"/net/karachi/scratch/jmasa/hg_gc_baseline_ref/src/share/vm/gc_implementation/shared/spaceDecorator.cpp", line 36: Error: value is not a member of HeapWord.
1 Error(s) detected.

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/a4f9ef0c0375

EVALUATION Define the value() method in HeapWord under not PRODUCT instead of ASSERT.

SUGGESTED FIX diff --git a/src/share/vm/utilities/globalDefinitions.hpp b/src/share/vm/utilities/globalDefinitions.hpp --- a/src/share/vm/utilities/globalDefinitions.hpp +++ b/src/share/vm/utilities/globalDefinitions.hpp @@ -99,7 +99,7 @@ class HeapWord { friend class VMStructs; private: char* i; -#ifdef ASSERT +#ifndef PRODUCT public: char* value() { return i; } #endif