calls to static interface methods are broken for primitive args

Description

Same issue as CLJ-2284, but the committed fix didn't handle the primitive path.

Proposed: Handle both primitive and non-primitive cases by making a more generic static initialization in asm, rather than the convenience gen.invokeStatic() call.

Patch: clj-2517-2.patch

Screened by: Alex Miller

Environment

None

Attachments

2

Activity

Show:

Alex MillerMarch 3, 2020 at 7:20 PM

Applied for 1.10.2

Alex MillerFebruary 28, 2020 at 2:57 PM

It's at the top of the pile, so for sure.

Alexander YakushevFebruary 28, 2020 at 2:51 PM
Edited

Bump. Ran hard into this today, basically retraced all steps from discovering 2284, fixing the bug in emitUnboxed, and only then finding this ticket. It would be nice if this is included in 1.11, for now we have to run a fork to upgrade to JDK11.

 

Alex MillerAugust 22, 2019 at 7:48 PM

Added clj-2517-2.patch which just changes spaces to tabs in the Compiler change to reduce whitespace diffs. No semantic changes, attribution retained.

Completed

Details

Assignee

Reporter

Labels

Approval

Ok

Patch

Code and Test

Priority

Affects versions

Fix versions

Created June 11, 2019 at 11:28 PM
Updated March 3, 2020 at 7:20 PM
Resolved March 3, 2020 at 7:20 PM