[aarch64-port-dev ] RFR: 8144498: aarch64: large code cache generates SEGV

Edward Nevill edward.nevill at gmail.com
Fri Dec 4 17:43:37 UTC 2015


On Fri, 2015-12-04 at 16:14 +0000, Andrew Haley wrote: 
> Your fix looks OK.
> 
> However, there is one other fix which would be nice.

> if (is_call()) {
>     address trampoline = nativeCall_at(orig_addr)->get_trampoline();
>     if (trampoline) {
>       return nativeCallTrampolineStub_at(trampoline)->destination();
>     }
>   }
> 
> the is_call() could be replaced by NativeCall::is_call_at().
> Otherwise we're pointlessly decoding instructions and chasing
> nonexistent trampolines.  Could you try that?

Done. New webrev at

http://cr.openjdk.java.net/~enevill/8144498/webrev.1

jtreg results with ReservedCodeCacheSize=256m

Hotspot (original): Test results: passed: 865; failed: 19; error: 85
Hotspot (patched): Test results: passed: 947; failed: 10; error: 12
Langtools (original): Test results: passed: 3,049; failed: 77; error: 223
Hotspot (patched): Test results: passed: 3,316; failed: 33

Many thanks,
Ed.




More information about the aarch64-port-dev mailing list