Put an extra byte in every object header

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


On Wed, Dec 12, 2012 at 5:57 PM, Xin Tong <xerox.time.tech at gmail.com> wrote:
> 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.
>
Sorry the is -UseCompressedOops place in the _JAVA_OPTIONS.

xtong at socrates:~/openjdk$ export _JAVA_OPTIONS='-XX:-UseCompressedOops'

Xin

> class oopDesc {
>   friend class VMStructs;
>  private:
>   volatile markOop  _mark;
>   union _metadata {
>     wideKlassOop    _klass;
>     narrowOop       _compressed_klass;
>   } _metadata;
>
>   int magic;
>
>   // Fast access to barrier set.  Must be initialized.
>   static BarrierSet* _bs;
>
>  public:
>   enum ConcSafeType {
>     IsUnsafeConc = false,
>     IsSafeConc   = true
>   };
>
>   oopDesc() {magic = 0xAABBCCDD; }
>   ...
> }
>
> make[6]: Leaving directory
> `/home/xtong/openjdk/build/linux-amd64/hotspot/outputdir/linux_amd64_compiler2/product'
> All done.
> make[5]: Leaving directory
> `/home/xtong/openjdk/build/linux-amd64/hotspot/outputdir/linux_amd64_compiler2/product'
> 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
> `/home/xtong/openjdk/build/linux-amd64/hotspot/outputdir'
> 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
>
> Xin
>
>> 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