VirtualObjects at deoptimization points.

Gilles Duboscq duboscq at ssw.jku.at
Sun May 4 17:17:23 UTC 2014


Hello,

I currently have a prototype [1] that i would like to test. Before
creating my own tests, i was wondering if you already have tests for
this or if you know of tests that have escaping objects?

-Gilles

[1] http://cr.openjdk.java.net/~gdub/HSAILVirtualObjectDeopt.patch

On Fri, May 2, 2014 at 7:21 PM, Tom Deneau <tom.deneau at amd.com> wrote:
> Hi Gilles --
>
> Could I get an update on the support for VirtualObjects in the host deopt trampoline code?
>
> -- Tom D.
>
>> -----Original Message-----
>> From: gilwooden at gmail.com [mailto:gilwooden at gmail.com] On Behalf Of
>> Gilles Duboscq
>> Sent: Thursday, April 03, 2014 5:04 AM
>> To: Deneau, Tom
>> Cc: graal-dev at openjdk.java.net
>> Subject: Re: VirtualObjects at deoptimization points.
>>
>> Hello Tom,
>>
>> The reason I delayed the implementation of VirtualObjects is that we
>> have to reverse the process that transforms VirtualObjectNodes into
>> VirtualObjects (that's in
>> com.oracle.graal.compiler.gen.DebugInfoBuilder.build(FrameState,
>> LabelRef)).
>> It shouldn't be so complicated to add this support. I'll give it a try.
>>
>> -Gilles
>>
>> On Tue, Apr 1, 2014 at 1:07 AM, Tom Deneau <tom.deneau at amd.com> wrote:
>> > Gilles --
>> >
>> >
>> >
>> > I noticed in one of our java8 lambda tests (not yet pushed to trunk)
>> > we had some object allocation that was eliminated by escape analysis.
>> > But when we try to run this with the trunk now, we get
>> >
>> >
>> >
>> > com.oracle.graal.graph.GraalInternalError: unimplemented
>> >
>> >        at
>> > com.oracle.graal.graph.GraalInternalError.unimplemented(GraalInternalE
>> > rror.java:38)
>> >
>> >        at
>> > com.oracle.graal.hotspot.hsail.HSAILHotSpotLIRGenerator.getNodeForValu
>> > eFromFrame(HSAILHotSpotLIRGenerator.java:182)
>> >
>> >        at
>> > com.oracle.graal.hotspot.hsail.HSAILHotSpotLIRGenerator.createFrameSta
>> > te(HSAILHotSpotLIRGenerator.java:149)
>> >
>> >        at
>> > com.oracle.graal.hotspot.hsail.HSAILHotSpotLIRGenerator.createHostDeop
>> > tBranch(HSAILHotSpotLIRGenerator.java:140)
>> >
>> >
>> >
>> > where the line 182 in getNodeForValueFromFrame has
>> >
>> >
>> >
>> >
>> >
>> >         } else if (localValue instanceof VirtualObject) {
>> >
>> >             throw GraalInternalError.unimplemented();
>> >
>> >         }
>> >
>> >
>> >
>> >
>> >
>> > What would we need to do to support VirtualObjects at our
>> > deoptimization infopoints?
>> >
>> >
>> >
>> >
>> >
>> > (We also don't support stack slots yet, but I think I understand what
>> > is needed to support those).
>> >
>> >
>> >
>> > -- Tom
>> >
>> >
>


More information about the graal-dev mailing list