diff -r 65149e74c706 -r 069ab3f976d3 src/share/vm/opto/parse1.cpp --- a/src/share/vm/opto/parse1.cpp Tue Dec 20 00:55:02 2011 -0800 +++ b/src/share/vm/opto/parse1.cpp Wed Dec 07 11:35:03 2011 +0100 @@ -1911,7 +1911,7 @@ Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() ); Node* klass = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), klass_addr, TypeInstPtr::KLASS) ); - Node* access_flags_addr = basic_plus_adr(klass, klass, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc)); + Node* access_flags_addr = basic_plus_adr(klass, klass, in_bytes(Klass::access_flags_offset())); Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT); Node* mask = _gvn.transform(new (C, 3) AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER)));