# HG changeset patch # User Jaroslav Tulach # Date 1399452342 -7200 # Node ID f75ee66cfc2fdb4d8a768eea52d4e5be8ca31b4e # Parent bafa63ac44a2f262c3cf99672eb2c80594ce21fa Test to verify constructors don't need special register diff -r bafa63ac44a2 -r f75ee66cfc2f rt/vm/src/test/java/org/apidesign/vm4brwsr/SizeOfAMethodTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/SizeOfAMethodTest.java Wed May 07 10:01:54 2014 +0200 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/SizeOfAMethodTest.java Wed May 07 10:45:42 2014 +0200 @@ -25,8 +25,7 @@ import java.io.IOException; import java.io.InputStream; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertTrue; +import static org.testng.Assert.*; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -52,6 +51,19 @@ assertEquals(method.indexOf("st"), -1, "There should be no stack operations:\n" + method); } + @Test public void betterConstructor() { + String s = code; + int beg = s.indexOf("c.initInflater__IIZ"); + int end = s.indexOf("c.initInflater__IIZ.access"); + + assertTrue(beg > 0, "Found initInflater method in " + code); + assertTrue(beg < end, "Found end of initInflater method in " + code); + + String method = s.substring(beg, end); + + assertEquals(method.indexOf("stA1"), -1, "No need for stA1 register:\n" + method); + } + @Test public void emptyConstructorRequiresNoStack() { String s = code; int beg = s.indexOf("CLS.cons__V");