Lines Matching defs:index
275 int32_t index, VerificationType type, TRAPS) {
276 if (index >= _max_locals) {
278 ErrorContext::bad_local_index(_offset, index),
282 bool subtype = type.is_assignable_from(_locals[index],
287 TypeOrigin::local(index, this),
292 if(index >= _locals_size) { _locals_size = index + 1; }
293 return _locals[index];
297 int32_t index, VerificationType type1, VerificationType type2, TRAPS) {
300 if (index >= _locals_size - 1) {
302 ErrorContext::bad_local_index(_offset, index),
306 bool subtype = type1.is_assignable_from(_locals[index], verifier(), CHECK);
310 TypeOrigin::local(index, this), TypeOrigin::implicit(type1)),
313 subtype = type2.is_assignable_from(_locals[index + 1], verifier(), CHECK);
320 TypeOrigin::local(index + 1, this), TypeOrigin::implicit(type2)),
326 void StackMapFrame::set_local(int32_t index, VerificationType type, TRAPS) {
328 if (index >= _max_locals) {
330 ErrorContext::bad_local_index(_offset, index),
334 // If type at index is double or long, set the next location to be unusable
335 if (_locals[index].is_double() || _locals[index].is_long()) {
336 assert((index + 1) < _locals_size, "Local variable table overflow");
337 _locals[index + 1] = VerificationType::bogus_type();
339 // If type at index is double_2 or long_2, set the previous location to be unusable
340 if (_locals[index].is_double2() || _locals[index].is_long2()) {
341 assert(index >= 1, "Local variable table underflow");
342 _locals[index - 1] = VerificationType::bogus_type();
344 _locals[index] = type;
345 if (index >= _locals_size) {
347 for (int i=_locals_size; i<index; i++) {
352 _locals_size = index + 1;
357 int32_t index, VerificationType type1, VerificationType type2, TRAPS) {
360 if (index >= _max_locals - 1) {
362 ErrorContext::bad_local_index(_offset, index),
366 // If type at index+1 is double or long, set the next location to be unusable
367 if (_locals[index+1].is_double() || _locals[index+1].is_long()) {
368 assert((index + 2) < _locals_size, "Local variable table overflow");
369 _locals[index + 2] = VerificationType::bogus_type();
371 // If type at index is double_2 or long_2, set the previous location to be unusable
372 if (_locals[index].is_double2() || _locals[index].is_long2()) {
373 assert(index >= 1, "Local variable table underflow");
374 _locals[index - 1] = VerificationType::bogus_type();
376 _locals[index] = type1;
377 _locals[index+1] = type2;
378 if (index >= _locals_size - 1) {
380 for (int i=_locals_size; i<index; i++) {
385 _locals_size = index + 2;