< prev index next >

src/share/vm/opto/regmask.hpp

Print this page

        

*** 96,106 **** // particular platform. enum { SlotsPerLong = 2, SlotsPerVecS = 1, SlotsPerVecD = 2, SlotsPerVecX = 4, ! SlotsPerVecY = 8 }; // A constructor only used by the ADLC output. All mask fields are filled // in directly. Calls to this look something like RM(1,2,3,4); RegMask( # define BODY(I) int a##I, --- 96,107 ---- // particular platform. enum { SlotsPerLong = 2, SlotsPerVecS = 1, SlotsPerVecD = 2, SlotsPerVecX = 4, ! SlotsPerVecY = 8, ! SlotsPerVecZ = 16 }; // A constructor only used by the ADLC output. All mask fields are filled // in directly. Calls to this look something like RM(1,2,3,4); RegMask( # define BODY(I) int a##I,
*** 297,313 **** static const RegMask Empty; // Common empty mask static bool can_represent(OptoReg::Name reg) { // NOTE: -1 in computation reflects the usage of the last // bit of the regmask as an infinite stack flag and ! // -7 is to keep mask aligned for largest value (VecY). return (int)reg < (int)(CHUNK_SIZE-1); } static bool can_represent_arg(OptoReg::Name reg) { ! // NOTE: -SlotsPerVecY in computation reflects the need ! // to keep mask aligned for largest value (VecY). ! return (int)reg < (int)(CHUNK_SIZE-SlotsPerVecY); } }; // Do not use this constant directly in client code! #undef RM_SIZE --- 298,314 ---- static const RegMask Empty; // Common empty mask static bool can_represent(OptoReg::Name reg) { // NOTE: -1 in computation reflects the usage of the last // bit of the regmask as an infinite stack flag and ! // -7 is to keep mask aligned for largest value (VecZ). return (int)reg < (int)(CHUNK_SIZE-1); } static bool can_represent_arg(OptoReg::Name reg) { ! // NOTE: -SlotsPerVecZ in computation reflects the need ! // to keep mask aligned for largest value (VecZ). ! return (int)reg < (int)(CHUNK_SIZE-SlotsPerVecZ); } }; // Do not use this constant directly in client code! #undef RM_SIZE
< prev index next >