# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (javaCalls.cpp:64), pid=3560, tid=140207058839296
# guarantee(!thread->is_Compiler_thread()) failed: cannot make java calls from the compiler
#
# JRE version: Java(TM) SE Runtime Environment (7.0_65-b17) (build 1.7.0_65-b17)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 mixed mode linux-amd64 compressed oops)
The error eventually turned out to be that I had forgotten one pop
instruction before throwing an exception. (Last instruction before throwing the Exception was a checkcast
that had succeeded, and Java didn't like its result still being on the stack.)
[Also (should be obvious, but I realise my words can be confusing): no exception was thrown during execution of the faulty code (because the code was still being compiled and not executed), but the next instructions after the checkcast
would amount to throwing an Exception.]
I'm curious, though, how that results in this error message,
cannot make java calls from the compiler
What kind of "call" would the compiler think it's trying to make?