RFR(S): 8026407: VM is crashed on linux-ppc and linux-i586 when there is not enough ReservedCodeCacheSize specified
Christian Thalinger
christian.thalinger at oracle.com
Tue Oct 22 16:25:22 PDT 2013
On Oct 22, 2013, at 7:23 AM, Albert Noll <albert.noll at oracle.com> wrote:
> Hi all,
>
> I worked on this bug for some time but so far I was not able to determine its root cause.
> However, I have found a work around that hides the problem. Since it is important
> for the embedded version of hotspot to work with small code cache sizes + nashorn,
> I would suggest to apply this workaround, and file another bug that investigates the problem
> (e.g., a P4) that we can defer.
>
> bug: https://bugs.openjdk.java.net/browse/JDK-8026407
> webrev: http://cr.openjdk.java.net/~anoll/8026407/webrev.00/
>
> problem: If we do not create native wrapper for method handle intrinsics, we get
> segfaults in compiled code. Also, if -XX:VerifyAdapterCalls is enabled, we
> get:
>
> assert(false) failed: DEBUG MESSAGE: i2c adapter must return to an interpreter frame
>
> The bug seems to be specific to method handle intrinsics. I assume that we either call
> the wrong entry point to a compiled method, or there is a bug somewhere in the generated
> adapters. Method handle intrinsics are treated specifically in various parts of the code and
> I do not yet really understand everything.
I can tell you why (as could John): in order to properly handle the appendix argument for out-of-line calls we are using a small trampoline that pops off the appendix argument and jumps to the target (see gen_special_dispatch in SharedRuntime).
Since normal compiled-to-compiled calls are not able to handle such a thing we MUST generate an adapter in this case. If we can't generate one and use it we can not execute the out-of-line method handle calls.
>
> solution: As mentioned above, the solution is a workaround and does not solve the real problem.
> Nevertheless it improves stability of hotspot and the impact of the proposed changes are
> marginal.
>
> testing: Running nashorn with small code cache size (3m) on PPC and x86
>
> There will be a separate mail for closed part changes.
>
> Many thanks in advance,
> Albert
>
> P.S.: If anyone has an idea of where the problem could be, please let me know!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20131022/655a36a0/attachment.html
More information about the hotspot-compiler-dev
mailing list