hg: valhalla/valhalla: 8205549: [lworld] Unsafe support for flattened field of value type
Tobias Hartmann
tobias.hartmann at oracle.com
Tue Jul 3 07:31:54 UTC 2018
Hi Mandy,
with this patch, I still get a NPE with the following test
public class Test {
__ByValue final class MyValue1 {
//__NotFlattened final int x = 42;
final int x = 42;
}
public void test() {
MyValue1 vt = __MakeDefault MyValue1();
System.out.println(vt.toString());
}
public static void main(String[] args) {
(new Test()).test();
}
}
Exception in thread "main" java.lang.NullPointerException
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at java.base/java.lang.invoke.ValueBootstrapMethods.toString(ValueBootstrapMethods.java:236)
at Test$MyValue1.toString(Test.java:4)
at Test.test(Test.java:10)
at Test.main(Test.java:14)
I get this with both versions (flattened and non-flattened field x).
Thanks,
Tobias
On 02.07.2018 18:54, mandy.chung at oracle.com wrote:
> Changeset: 0dd8795826b3
> Author: mchung
> Date: 2018-07-02 09:53 -0700
> URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/0dd8795826b3
>
> 8205549: [lworld] Unsafe support for flattened field of value type
> Reviewed-by: psandoz
>
> ! src/hotspot/share/prims/methodHandles.cpp
> ! src/hotspot/share/prims/unsafe.cpp
> ! src/hotspot/share/runtime/reflection.cpp
> ! src/hotspot/share/utilities/accessFlags.hpp
> ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
> ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java
> ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
> ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java
> ! src/java.base/share/classes/java/lang/invoke/MemberName.java
> ! src/java.base/share/classes/java/lang/invoke/VarHandles.java
> ! src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template
> ! src/java.base/share/classes/java/lang/reflect/Modifier.java
> ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java
> ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java
> ! src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java
> ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java
> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeFieldAccessorImpl.java
> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java
> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java
> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java
> ! src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java
> ! test/jdk/valhalla/valuetypes/Line.java
> + test/jdk/valhalla/valuetypes/MethodHandleTest.java
> + test/jdk/valhalla/valuetypes/MutablePath.java
> ! test/jdk/valhalla/valuetypes/ObjectMethods.java
> ! test/jdk/valhalla/valuetypes/Point.java
> ! test/jdk/valhalla/valuetypes/Reflection.java
>
More information about the valhalla-dev
mailing list