[foreign-memaccess] RFR 8227548: AddressVarHandleGenerator produces unverifiable code

Jorn Vernee jbvernee at xs4all.nl
Wed Jul 10 20:29:49 UTC 2019


Thanks for fixing these, patch looks good!

FWIW, you can use replace instead of replaceAll, which takes a plain 
string instead of a regex. (but also replaces all occurrences. the 
naming is a little misleading).

Jorn

On 2019-07-10 19:00, Maurizio Cimadamore wrote:
> Hi,
> turns out that there were other places which were triggering verifier
> errors. I tried to run TestMemoryAccess (the test which executes more
> VH shapes) and I discovered many issues:
> 
> * a bunch of methods were missing the ASM call to auto-generate 
> stack/local size
> 
> * one method was missing a cast after a CP patch ldc
> 
> * the name of the generated class was wrong - as it was missing the
> package name (should be in j.l.invoke)
> 
> Also, since I was there, I realized that the indirection via a MH was
> not necessary when calling the memory address helper. So I replaced
> the call to invokeExact with a more direct invokestatic to the desired
> method.
> 
> To make sure I reran all the benchmarks and everything looks stable -
> no loss, no gain.
> 
> Webrev:
> 
> http://cr.openjdk.java.net/~mcimadamore/panama/8227548/
> 
> Cheers
> Maurizio


More information about the panama-dev mailing list