src/share/vm/opto/chaitin.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7119644 Cdiff src/share/vm/opto/chaitin.hpp

src/share/vm/opto/chaitin.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 97,109 **** public: int compute_mask_size() const { return _mask.is_AllStack() ? 65535 : _mask.Size(); } void set_mask_size( int size ) { assert((size == 65535) || (size == (int)_mask.Size()), ""); _mask_size = size; ! debug_only(_msize_valid=1;) ! debug_only( if( _num_regs == 2 && !_fat_proj ) _mask.VerifyPairs(); ) } void compute_set_mask_size() { set_mask_size(compute_mask_size()); } int mask_size() const { assert( _msize_valid, "mask size not valid" ); return _mask_size; } // Get the last mask size computed, even if it does not match the // count of bits in the current mask. --- 97,116 ---- public: int compute_mask_size() const { return _mask.is_AllStack() ? 65535 : _mask.Size(); } void set_mask_size( int size ) { assert((size == 65535) || (size == (int)_mask.Size()), ""); _mask_size = size; ! #ifdef ASSERT ! _msize_valid=1; ! if (_is_vector) { ! assert(!_fat_proj, "sanity"); ! _mask.verify_sets(_num_regs); ! } else if (_num_regs == 2 && !_fat_proj) { ! _mask.verify_pairs(); } + #endif + } void compute_set_mask_size() { set_mask_size(compute_mask_size()); } int mask_size() const { assert( _msize_valid, "mask size not valid" ); return _mask_size; } // Get the last mask size computed, even if it does not match the // count of bits in the current mask.
*** 114,124 **** void SUBTRACT( const RegMask &rm ) { _mask.SUBTRACT(rm); debug_only(_msize_valid=0;)} void Clear() { _mask.Clear() ; debug_only(_msize_valid=1); _mask_size = 0; } void Set_All() { _mask.Set_All(); debug_only(_msize_valid=1); _mask_size = RegMask::CHUNK_SIZE; } void Insert( OptoReg::Name reg ) { _mask.Insert(reg); debug_only(_msize_valid=0;) } void Remove( OptoReg::Name reg ) { _mask.Remove(reg); debug_only(_msize_valid=0;) } ! void ClearToPairs() { _mask.ClearToPairs(); debug_only(_msize_valid=0;) } // Number of registers this live range uses when it colors private: uint8 _num_regs; // 2 for Longs and Doubles, 1 for all else // except _num_regs is kill count for fat_proj --- 121,132 ---- void SUBTRACT( const RegMask &rm ) { _mask.SUBTRACT(rm); debug_only(_msize_valid=0;)} void Clear() { _mask.Clear() ; debug_only(_msize_valid=1); _mask_size = 0; } void Set_All() { _mask.Set_All(); debug_only(_msize_valid=1); _mask_size = RegMask::CHUNK_SIZE; } void Insert( OptoReg::Name reg ) { _mask.Insert(reg); debug_only(_msize_valid=0;) } void Remove( OptoReg::Name reg ) { _mask.Remove(reg); debug_only(_msize_valid=0;) } ! void clear_to_pairs() { _mask.clear_to_pairs(); debug_only(_msize_valid=0;) } ! void clear_to_sets() { _mask.clear_to_sets(_num_regs); debug_only(_msize_valid=0;) } // Number of registers this live range uses when it colors private: uint8 _num_regs; // 2 for Longs and Doubles, 1 for all else // except _num_regs is kill count for fat_proj
*** 148,157 **** --- 156,166 ---- // Is this live range just barely "low-degree"? Trivially colorable? bool just_lo_degree () const { return degree() == degrees_of_freedom(); } uint _is_oop:1, // Live-range holds an oop _is_float:1, // True if in float registers + _is_vector:1, // True if in vector registers _was_spilled1:1, // True if prior spilling on def _was_spilled2:1, // True if twice prior spilling on def _is_bound:1, // live range starts life with no // degrees of freedom. _direct_conflict:1, // True if def and use registers in conflict
src/share/vm/opto/chaitin.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File