# HG changeset patch # User Lukas Stadler # Date 1404829033 -7200 # Node ID a6c3ea7ac36930a5160543799b27c8293338096f # Parent 0de9f76a4b3df978525ba7f72c612cdc54c4fd90 let ForeignStubCallNode kill PENDING_EXCEPTION_LOCATION diff -r 0de9f76a4b3d -r a6c3ea7ac369 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java Tue Jul 08 16:14:09 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java Tue Jul 08 16:17:13 2014 +0200 @@ -22,10 +22,13 @@ */ package com.oracle.graal.hotspot.nodes; +import java.util.*; + import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; +import com.oracle.graal.hotspot.replacements.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; @@ -54,7 +57,10 @@ @Override public LocationIdentity[] getLocationIdentities() { - return foreignCalls.getKilledLocations(descriptor); + LocationIdentity[] killedLocations = foreignCalls.getKilledLocations(descriptor); + killedLocations = Arrays.copyOf(killedLocations, killedLocations.length + 1); + killedLocations[killedLocations.length - 1] = HotSpotReplacementsUtil.PENDING_EXCEPTION_LOCATION; + return killedLocations; } protected Value[] operands(NodeLIRBuilderTool gen) {