equal
deleted
inserted
replaced
157 // updated it and we don't want to overwrite that value. Don't |
157 // updated it and we don't want to overwrite that value. Don't |
158 // bother trying to update it once it's nonzero but always make |
158 // bother trying to update it once it's nonzero but always make |
159 // sure that the final parameter size agrees with what was passed. |
159 // sure that the final parameter size agrees with what was passed. |
160 if (_flags == 0) { |
160 if (_flags == 0) { |
161 intx newflags = (value & parameter_size_mask); |
161 intx newflags = (value & parameter_size_mask); |
162 Atomic::cmpxchg(newflags, &_flags, (intx)0); |
162 Atomic::cmpxchg(&_flags, (intx)0, newflags); |
163 } |
163 } |
164 guarantee(parameter_size() == value, |
164 guarantee(parameter_size() == value, |
165 "size must not change: parameter_size=%d, value=%d", parameter_size(), value); |
165 "size must not change: parameter_size=%d, value=%d", parameter_size(), value); |
166 } |
166 } |
167 |
167 |