# HG changeset patch # User Lukas Stadler # Date 1355762445 -3600 # Node ID c305a0315bea0e9a0ec17f6246051b96530c2881 # Parent 01e3daf8569b368602a4e5eb23a2d99f23b04ac9 use DeoptAction.None for array allocations with invalid length (very large or negative) diff -r 01e3daf8569b -r c305a0315bea graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java Mon Dec 17 17:36:46 2012 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java Mon Dec 17 17:40:45 2012 +0100 @@ -138,7 +138,7 @@ @ConstantParameter("type") ResolvedJavaType type) { if (!belowThan(length, MAX_ARRAY_FAST_PATH_ALLOCATION_LENGTH)) { // This handles both negative array sizes and very large array sizes - DeoptimizeNode.deopt(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.RuntimeConstraint); + DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint); } int allocationSize = computeArrayAllocationSize(length, alignment, headerSize, log2ElementSize); Word memory = TLABAllocateNode.allocateVariableSize(allocationSize);