weixin_39926311
weixin_39926311
2021-01-06 13:45

Keep treetop after recognized call transformer reduction

Removing the treetop after a recognized call transformation can result in a semantically incorrect transformation because the descendants of the treetop may have sideeffects. Removing the treetop in this case can cause such sideeffect trees to swing down which semantically changes the program.

Fixes: #11032 Signed-off-by: Filip Jeremic

该提问来源于开源项目:eclipse/openj9

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • weixin_39926311 weixin_39926311 4月前

    Jenkins test sanity all jdk8

    点赞 评论 复制链接分享
  • weixin_39926311 weixin_39926311 4月前

    do you want to be a committer for this one?

    点赞 评论 复制链接分享
  • weixin_39992760 weixin_39992760 4月前

    I don't think that travis-ci build is going to complete, and I'm convinced the PR is ok by the other passed builds and tests. Merging...

    点赞 评论 复制链接分享
  • weixin_39926311 weixin_39926311 4月前

    First adding the test and launching a build only on x86 to ensure it captures the bug. I will then add the fix, and relaunch the test to showcase the bug is now fixed.

    Jenkins test sanity xlinux jdk8

    点赞 评论 复制链接分享
  • weixin_39926311 weixin_39926311 4月前

    We do catch the failure: https://ci.eclipse.org/openj9/job/Test_openjdk8_j9_sanity.functional_x86-64_linux_Personal/693/tapResults/

    
    ===============================================
    Running test jit_recognizedMethod_1 ...
    ===============================================
    jit_recognizedMethod_1 Start Time: Wed Oct 28 20:56:38 2020 Epoch Time (ms): 1603929398460
    variation: -Xjit:count=1,disableAsyncCompilation
    JVM_OPTIONS:  -Xjit:count=1,disableAsyncCompilation 
    [IncludeExcludeTestAnnotationTransformer] [INFO] exclude file is /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdk-tests/TKG/../TestConfig/resources/excludes/latest_exclude_8.txt
    ...
    ... TestNG 6.14.2 by Cédric Beust (cedric.com)
    ...
    
    PASSED: test_java_lang_StrictMath_sqrt
    PASSED: test_java_lang_StrictMath_sqrt
    PASSED: test_java_lang_Math_sqrt
    PASSED: test_java_lang_Math_sqrt
    PASSED: testReuseOfSameStackSlotForMultipleCalls
    FAILED: testReuseOfSameStackSlotForMultipleCalls
    java.lang.AssertionError: expected:<3> but was:<4>
        at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
        at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
        at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)
        at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:245)
        at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:252)
        at jit.test.recognizedMethod.TestRecognizedCallTransformer.testReuseOfSameStackSlotForMultipleCalls(TestRecognizedCallTransformer.java:48)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:580)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)
        at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
        at org.testng.TestRunner.privateRun(TestRunner.java:648)
        at org.testng.TestRunner.run(TestRunner.java:505)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
        at org.testng.SuiteRunner.run(SuiteRunner.java:364)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
        at org.testng.TestNG.runSuites(TestNG.java:1049)
        at org.testng.TestNG.run(TestNG.java:1017)
        at org.testng.TestNG.privateMain(TestNG.java:1354)
        at org.testng.TestNG.main(TestNG.java:1323)
    
    点赞 评论 复制链接分享

相关推荐