src/share/vm/oops/generateOopMap.hpp

changeset 777
37f87013dfd8
parent 435
a61af66fc99e
child 1040
98cb887364d3
equal deleted inserted replaced
624:0b27f3512f9e 777:37f87013dfd8
339 339
340 // Basicblock info 340 // Basicblock info
341 BasicBlock * _basic_blocks; // Array of basicblock info 341 BasicBlock * _basic_blocks; // Array of basicblock info
342 int _gc_points; 342 int _gc_points;
343 int _bb_count; 343 int _bb_count;
344 uintptr_t * _bb_hdr_bits; 344 BitMap _bb_hdr_bits;
345 345
346 // Basicblocks methods 346 // Basicblocks methods
347 void initialize_bb (); 347 void initialize_bb ();
348 void mark_bbheaders_and_count_gc_points(); 348 void mark_bbheaders_and_count_gc_points();
349 bool is_bb_header (int bci) const { return (_bb_hdr_bits[bci >> LogBitsPerWord] & ((uintptr_t)1 << (bci & (BitsPerWord-1)))) != 0; } 349 bool is_bb_header (int bci) const {
350 return _bb_hdr_bits.at(bci);
351 }
350 int gc_points () const { return _gc_points; } 352 int gc_points () const { return _gc_points; }
351 int bb_count () const { return _bb_count; } 353 int bb_count () const { return _bb_count; }
352 void set_bbmark_bit (int bci); 354 void set_bbmark_bit (int bci) {
353 void clear_bbmark_bit (int bci); 355 _bb_hdr_bits.at_put(bci, true);
356 }
357 void clear_bbmark_bit (int bci) {
358 _bb_hdr_bits.at_put(bci, false);
359 }
354 BasicBlock * get_basic_block_at (int bci) const; 360 BasicBlock * get_basic_block_at (int bci) const;
355 BasicBlock * get_basic_block_containing (int bci) const; 361 BasicBlock * get_basic_block_containing (int bci) const;
356 void interp_bb (BasicBlock *bb); 362 void interp_bb (BasicBlock *bb);
357 void restore_state (BasicBlock *bb); 363 void restore_state (BasicBlock *bb);
358 int next_bb_start_pc (BasicBlock *bb); 364 int next_bb_start_pc (BasicBlock *bb);

mercurial