changeset 8369:8448cbac78e4

made frame omission test ignore padding instructions at the end of installed code
author Doug Simon <doug.simon@oracle.com>
date Tue, 19 Mar 2013 14:07:30 +0100
parents 99a71b8c1c5d
children c2e39aa097c5
files graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java	Tue Mar 19 14:05:40 2013 +0100
+++ b/graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java	Tue Mar 19 14:07:30 2013 +0100
@@ -25,6 +25,7 @@
 import static com.oracle.graal.amd64.AMD64.*;
 
 import java.lang.reflect.*;
+import java.util.*;
 
 import org.junit.*;
 
@@ -109,12 +110,12 @@
         for (int i = 0; i < GraalOptions.MethodEndBreakpointGuards; ++i) {
             asm.int3();
         }
-        while ((asm.codeBuffer.position() % 8) != 0) {
-            asm.hlt();
-        }
 
         byte[] expectedCode = asm.codeBuffer.close(true);
-        byte[] actualCode = installedCode.getCode();
+
+        // Only compare up to expectedCode.length bytes to ignore
+        // padding instructions adding during code installation
+        byte[] actualCode = Arrays.copyOf(installedCode.getCode(), expectedCode.length);
 
         Assert.assertArrayEquals(expectedCode, actualCode);
     }