groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Sun (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GROOVY-8299) Generate bytecode for interface with default methods
Date Sat, 26 Aug 2017 09:34:00 GMT

    [ https://issues.apache.org/jira/browse/GROOVY-8299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142724#comment-16142724
] 

Daniel Sun commented on GROOVY-8299:
------------------------------------

JVM option "-Xverify:none" is required, or VerifyError will occur. We should fix the potential
issue.

{code:java}
java.lang.VerifyError: Expecting a stackmap frame at branch target 14
Exception Details:
  Location:
    groovy/bugs/Groovy8299Bug.$getStaticMetaClass()Lgroovy/lang/MetaClass; @6: if_acmpeq
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0x0000000: 2ab6 002e 1202 a500 082a b800 34b0 b200
    0x0000010: 364c 2bc7 000f 2ab6 002e b800 3c59 4cb3
    0x0000020: 0036 2bb6 003f b0                      


	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
	at java.lang.Class.getMethod0(Class.java:3018)
	at java.lang.Class.getMethod(Class.java:1784)
	at org.junit.internal.builders.SuiteMethodBuilder.hasSuiteMethod(SuiteMethodBuilder.java:18)
	at org.junit.internal.builders.SuiteMethodBuilder.runnerForClass(SuiteMethodBuilder.java:10)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

{code}


> Generate bytecode for interface with default methods
> ----------------------------------------------------
>
>                 Key: GROOVY-8299
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8299
>             Project: Groovy
>          Issue Type: Improvement
>          Components: Compiler
>    Affects Versions: 3.0.0-alpha-1, 2.6.0-alpha-1
>            Reporter: Daniel Sun
>            Assignee: Daniel Sun
>
> Currently the interface with default methods is based on the traits, we should provide
real default methods introduced by Java8.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message