Put an extra byte in every object header
Krystal Mok
rednaxelafx at gmail.com
Wed Dec 12 15:55:26 PST 2012
You should read the whole thread. There's more discussion after my
suggestion of specifying -UseCompressedOops (which wasn't a cure to
the root problem).
- Kris
On Thu, Dec 13, 2012 at 6:59 AM, Xin Tong <xerox.time.tech at gmail.com> wrote:
> 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