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;
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