1.1 --- a/src/share/vm/ci/ciMethodBlocks.cpp Wed Sep 17 08:29:17 2008 -0700 1.2 +++ b/src/share/vm/ci/ciMethodBlocks.cpp Wed Sep 17 12:59:52 2008 -0700 1.3 @@ -49,7 +49,7 @@ 1.4 // first half. Returns the range beginning at bci. 1.5 ciBlock *ciMethodBlocks::split_block_at(int bci) { 1.6 ciBlock *former_block = block_containing(bci); 1.7 - ciBlock *new_block = new(_arena) ciBlock(_method, _num_blocks++, this, former_block->start_bci()); 1.8 + ciBlock *new_block = new(_arena) ciBlock(_method, _num_blocks++, former_block->start_bci()); 1.9 _blocks->append(new_block); 1.10 assert(former_block != NULL, "must not be NULL"); 1.11 new_block->set_limit_bci(bci); 1.12 @@ -83,7 +83,7 @@ 1.13 if (cb == NULL ) { 1.14 // This is our first time visiting this bytecode. Create 1.15 // a fresh block and assign it this starting point. 1.16 - ciBlock *nb = new(_arena) ciBlock(_method, _num_blocks++, this, bci); 1.17 + ciBlock *nb = new(_arena) ciBlock(_method, _num_blocks++, bci); 1.18 _blocks->append(nb); 1.19 _bci_to_block[bci] = nb; 1.20 return nb; 1.21 @@ -98,6 +98,11 @@ 1.22 } 1.23 } 1.24 1.25 +ciBlock *ciMethodBlocks::make_dummy_block() { 1.26 + ciBlock *dum = new(_arena) ciBlock(_method, -1, 0); 1.27 + return dum; 1.28 +} 1.29 + 1.30 void ciMethodBlocks::do_analysis() { 1.31 ciBytecodeStream s(_method); 1.32 ciBlock *cur_block = block_containing(0); 1.33 @@ -253,7 +258,7 @@ 1.34 Copy::zero_to_words((HeapWord*) _bci_to_block, b2bsize / sizeof(HeapWord)); 1.35 1.36 // create initial block covering the entire method 1.37 - ciBlock *b = new(arena) ciBlock(_method, _num_blocks++, this, 0); 1.38 + ciBlock *b = new(arena) ciBlock(_method, _num_blocks++, 0); 1.39 _blocks->append(b); 1.40 _bci_to_block[0] = b; 1.41 1.42 @@ -334,7 +339,7 @@ 1.43 #endif 1.44 1.45 1.46 -ciBlock::ciBlock(ciMethod *method, int index, ciMethodBlocks *mb, int start_bci) : 1.47 +ciBlock::ciBlock(ciMethod *method, int index, int start_bci) : 1.48 #ifndef PRODUCT 1.49 _method(method), 1.50 #endif