Put an extra byte in every object header

Xin Tong xerox.time.tech at gmail.com
Wed Dec 12 14:57:24 PST 2012

On Tue, Dec 11, 2012 at 11:47 PM, Krystal Mok <rednaxelafx at gmail.com> wrote:
> This is the thread Chris was talking about:
> http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-June/005994.html
I put the option in the . but my VM still crashes at test_gamma. The
crash report and changes are as shown below.

class oopDesc {
  friend class VMStructs;
  volatile markOop  _mark;
  union _metadata {
    wideKlassOop    _klass;
    narrowOop       _compressed_klass;
  } _metadata;

  int magic;

  // Fast access to barrier set.  Must be initialized.
  static BarrierSet* _bs;

  enum ConcSafeType {
    IsUnsafeConc = false,
    IsSafeConc   = true

  oopDesc() {magic = 0xAABBCCDD; }

make[6]: Leaving directory
All done.
make[5]: Leaving directory
cd linux_amd64_compiler2/product && ./test_gamma
Picked up _JAVA_OPTIONS: -XX:-UseCompressedOops
Using java runtime at: /usr/lib/jvm/java-6-openjdk-amd64/jre
Picked up _JAVA_OPTIONS: -XX:-UseCompressedOops
# A fatal error has been detected by the Java Runtime Environment:
#  SIGSEGV (0xb) at pc=0x00002b7ced68d797, pid=13715, tid=47815576852224
# JRE version: 6.0_24-b24
# Java VM: OpenJDK 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 )
# Problematic frame:
# V  [libjvm.so+0x7c3797]  Symbol::as_C_string() const+0x7
# Failed to write core dump. Core dumps have been disabled. To enable
core dumping, try "ulimit -c unlimited" before starting Java again
# An error report file with more information is saved as:
# /home/xtong/openjdk/build/linux-amd64/hotspot/outputdir/linux_amd64_compiler2/product/hs_err_pid13715.log
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
Aborted (core dumped)
make[4]: *** [product] Error 134
make[4]: Leaving directory
make[3]: *** [generic_build2] Error 2
make[3]: Leaving directory `/home/xtong/openjdk/hotspot/make'
make[2]: *** [product] Error 2
make[2]: Leaving directory `/home/xtong/openjdk/hotspot/make'
make[1]: *** [hotspot-build] Error 2
make[1]: Leaving directory `/home/xtong/openjdk'
make: *** [build_product_image] Error 2


> HTH,
> Kris
> On Wed, Dec 12, 2012 at 8:10 AM, Christian Thalinger
> <christian.thalinger at oracle.com> wrote:
>> On Dec 9, 2012, at 7:55 PM, Xin Tong <xerox.time.tech at gmail.com> wrote:
>>> what is a way to put an extra byte into every object header in
>>> hotspot. I tried putting it into class markOop and class Oop. none
>>> worked. the runtime crashed when running java programs.
>>> Is there anything i need to change ?
>> There was a discussing about this very recently.  I just can't find the post right now.  You might use a search engine yourself.
>> -- Chris
>>> Xin

More information about the hotspot-compiler-dev mailing list