Skip to content

Commit

Permalink
Jdk12 wip/fix runtime crash on covariant bridge methods (#438)
Browse files Browse the repository at this point in the history
* * jetbrains intellij plugin for gradle version updated

* * intellij maven pom reworked into stand-alone. as mvn:version is not able to update parent version number

* * added sonatype repo for snapshot dependencies

* * eclipse plugin's maven.pom switched into standalone (without) as tyho plugin is not able update parent's version during release

* * release script reworked to properly pick up new idea artifact and update it gradle version

* * Idea: release script updated to use property to specify the dependencies. otherview version:commit failed to pick up non existing dependencies (for future version)

* * as result of #422 covariant return type methods annotated by @bridge is able to build now. But it crashes runtime as CLASS INFO structure is corrupted.
Root case for this: bridge pointer is not added(as result of #422) but MI_BRO_BRIDGE is added to method flags. This flags makes runtime to expect the pointer but it missing and entire class struct is shifted and missread into crash
  • Loading branch information
dkimitsa authored and Tom-Ski committed Jan 10, 2020
1 parent 64f78f2 commit 944af95
Showing 1 changed file with 1 addition and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -1438,7 +1438,7 @@ private StructureConstant createClassInfoStruct() {
if (attributesEncoder.methodHasAttributes(m)) {
flags |= MI_ATTRIBUTES;
}
if (hasBridgeAnnotation(m) || hasGlobalValueAnnotation(m)) {
if ((hasBridgeAnnotation(m) && !isJvmSyntheticBridgeMethod(m)) || hasGlobalValueAnnotation(m)) {
flags |= MI_BRO_BRIDGE;
}
if (hasCallbackAnnotation(m)) {
Expand Down

0 comments on commit 944af95

Please sign in to comment.