RFR(S) 8080157: assert(allocates2(pc)) failed: not in CodeBuffer memory
Berg, Michael C
michael.c.berg at intel.com
Sat Jun 20 03:07:57 UTC 2015
From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov
Sent: Friday, June 19, 2015 3:55 PM
To: hotspot compiler
Cc: hotspot-runtime-dev at openjdk.java.net
Subject:  RFR(S) 8080157: assert(allocates2(pc)) failed: not in CodeBuffer memory
When stubs are generated their code is put into one CodeBuffer (in CodeCache). More stubs we have the bigger that buffer should be.
Its size is determined by code_size2 (and code_size1 for an other set of stubs). The latest GHASH intrinsic added code which does not fit into previous size any more so we need to increase it.
It failed only on windows because on win64 we have to save some used XMM registers (save-on-entry) so the code is bigger than on other x86 systems.
I also added new asserts to have a meaningful message when there are no space left in this code buffer.
Tested in JPRT with new asserts before and after size change.
More information about the hotspot-compiler-dev