1.1 --- a/src/share/vm/runtime/deoptimization.cpp Wed Jun 27 15:23:36 2012 +0200 1.2 +++ b/src/share/vm/runtime/deoptimization.cpp Thu Jun 28 17:03:16 2012 -0400 1.3 @@ -101,7 +101,7 @@ 1.4 _number_of_frames = number_of_frames; 1.5 _frame_sizes = frame_sizes; 1.6 _frame_pcs = frame_pcs; 1.7 - _register_block = NEW_C_HEAP_ARRAY(intptr_t, RegisterMap::reg_count * 2); 1.8 + _register_block = NEW_C_HEAP_ARRAY(intptr_t, RegisterMap::reg_count * 2, mtCompiler); 1.9 _return_type = return_type; 1.10 _initial_info = 0; 1.11 // PD (x86 only) 1.12 @@ -114,9 +114,9 @@ 1.13 1.14 1.15 Deoptimization::UnrollBlock::~UnrollBlock() { 1.16 - FREE_C_HEAP_ARRAY(intptr_t, _frame_sizes); 1.17 - FREE_C_HEAP_ARRAY(intptr_t, _frame_pcs); 1.18 - FREE_C_HEAP_ARRAY(intptr_t, _register_block); 1.19 + FREE_C_HEAP_ARRAY(intptr_t, _frame_sizes, mtCompiler); 1.20 + FREE_C_HEAP_ARRAY(intptr_t, _frame_pcs, mtCompiler); 1.21 + FREE_C_HEAP_ARRAY(intptr_t, _register_block, mtCompiler); 1.22 } 1.23 1.24 1.25 @@ -358,9 +358,9 @@ 1.26 1.27 // Compute the vframes' sizes. Note that frame_sizes[] entries are ordered from outermost to innermost 1.28 // virtual activation, which is the reverse of the elements in the vframes array. 1.29 - intptr_t* frame_sizes = NEW_C_HEAP_ARRAY(intptr_t, number_of_frames); 1.30 + intptr_t* frame_sizes = NEW_C_HEAP_ARRAY(intptr_t, number_of_frames, mtCompiler); 1.31 // +1 because we always have an interpreter return address for the final slot. 1.32 - address* frame_pcs = NEW_C_HEAP_ARRAY(address, number_of_frames + 1); 1.33 + address* frame_pcs = NEW_C_HEAP_ARRAY(address, number_of_frames + 1, mtCompiler); 1.34 int popframe_extra_args = 0; 1.35 // Create an interpreter return address for the stub to use as its return 1.36 // address so the skeletal frames are perfectly walkable