7187454: stack overflow in C2 compiler thread on Solaris x86

Added new FormatBufferResource class to use thread's resource area for error message buffer.

Reviewed-by: twisti
This commit is contained in:
Vladimir Kozlov 2012-07-30 09:49:25 -07:00
parent b9eb5785cc
commit 5e05a0d592
11 changed files with 42 additions and 23 deletions

View file

@ -1399,7 +1399,7 @@ void Parse::do_one_block() {
int pre_bc_sp = sp();
int inputs, depth;
bool have_se = !stopped() && compute_stack_effects(inputs, depth, /*for_parse*/ true);
assert(!have_se || pre_bc_sp >= inputs, err_msg("have enough stack to execute this BC: pre_bc_sp=%d, inputs=%d", pre_bc_sp, inputs));
assert(!have_se || pre_bc_sp >= inputs, err_msg_res("have enough stack to execute this BC: pre_bc_sp=%d, inputs=%d", pre_bc_sp, inputs));
#endif //ASSERT
do_one_bytecode();