hg: valhalla/valhalla/hotspot: value_store/ValueArray header & element size fixes
David Simms
david.simms at oracle.com
Tue Mar 14 13:39:15 UTC 2017
Grrr, there remains a bug...
value_store is using "nonstatic_field_size() << LogBytesPerHeapOop"
which is not always jlong size aligned.
So whilst JVM_Clone for whole object (i.e.: from oop header through all
fields) is guaranteed to be align size to jlong for copying, just the
field payload is not. Value store operations for array load/store and
derive value type copying, do not want to copy mark and klass ptrs.
We align up the start of the fields to BytesPerLong, I guess the
nonstatic_fields_size also needs jlong alignment when greater than
BytesPerLong (i.e. small values remain small, copy via jbyte, jshort and
jint pointers).
Will push a quick fix soon, unless I hear any objection.
/David Simms
On 14/03/17 10:50, david.simms at oracle.com wrote:
> Changeset: 659925d66604
> Author: dsimms
> Date: 2017-03-14 10:49 +0100
> URL: http://hg.openjdk.java.net/valhalla/valhalla/hotspot/rev/659925d66604
>
> value_store/ValueArray header & element size fixes
>
> ! src/share/vm/interpreter/interpreterRuntime.cpp
> ! src/share/vm/memory/universe.inline.hpp
> ! src/share/vm/oops/valueArrayKlass.cpp
> ! src/share/vm/oops/valueArrayKlass.hpp
> ! src/share/vm/oops/valueKlass.cpp
> ! src/share/vm/oops/valueKlass.hpp
> ! src/share/vm/oops/valueKlass.inline.hpp
>
More information about the valhalla-dev
mailing list