Mercurial > hg > truffle
comparison src/share/vm/ci/ciMethodBlocks.cpp @ 1685:0e35fa8ebccd
6973963: SEGV in ciBlock::start_bci() with EA
Summary: Added more checks into ResourceObj and growableArray to verify correctness of allocation type.
Reviewed-by: never, coleenp, dholmes
author | kvn |
---|---|
date | Tue, 03 Aug 2010 15:55:03 -0700 |
parents | c18cbe5936b8 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1684:66c5dadb4d61 | 1685:0e35fa8ebccd |
---|---|
250 | 250 |
251 ciMethodBlocks::ciMethodBlocks(Arena *arena, ciMethod *meth): _method(meth), | 251 ciMethodBlocks::ciMethodBlocks(Arena *arena, ciMethod *meth): _method(meth), |
252 _arena(arena), _num_blocks(0), _code_size(meth->code_size()) { | 252 _arena(arena), _num_blocks(0), _code_size(meth->code_size()) { |
253 int block_estimate = _code_size / 8; | 253 int block_estimate = _code_size / 8; |
254 | 254 |
255 _blocks = new(_arena) GrowableArray<ciBlock *>(block_estimate); | 255 _blocks = new(_arena) GrowableArray<ciBlock *>(_arena, block_estimate, 0, NULL); |
256 int b2bsize = _code_size * sizeof(ciBlock **); | 256 int b2bsize = _code_size * sizeof(ciBlock **); |
257 _bci_to_block = (ciBlock **) arena->Amalloc(b2bsize); | 257 _bci_to_block = (ciBlock **) arena->Amalloc(b2bsize); |
258 Copy::zero_to_words((HeapWord*) _bci_to_block, b2bsize / sizeof(HeapWord)); | 258 Copy::zero_to_words((HeapWord*) _bci_to_block, b2bsize / sizeof(HeapWord)); |
259 | 259 |
260 // create initial block covering the entire method | 260 // create initial block covering the entire method |