src/share/vm/opto/regmask.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/regmask.hpp	Fri May  8 11:59:45 2015
--- new/src/share/vm/opto/regmask.hpp	Fri May  8 11:59:45 2015

*** 96,106 **** --- 96,107 ---- // particular platform. enum { SlotsPerLong = 2, SlotsPerVecS = 1, SlotsPerVecD = 2, SlotsPerVecX = 4, ! SlotsPerVecY = 8 }; ! 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 **** --- 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 (VecY). ! // -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: -SlotsPerVecY in computation reflects the need ! // to keep mask aligned for largest value (VecY). ! return (int)reg < (int)(CHUNK_SIZE-SlotsPerVecY); ! // 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

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