< prev index next >

src/hotspot/share/runtime/vframe_hp.cpp

Print this page




 371       break;
 372     case T_FLOAT:
 373       locals->set_float_at(index, value.f);
 374       break;
 375     case T_DOUBLE:
 376       locals->set_double_at(index, value.d);
 377       break;
 378     case T_BYTE:
 379       locals->set_int_at(index, value.b);
 380       break;
 381     case T_SHORT:
 382       locals->set_int_at(index, value.s);
 383       break;
 384     case T_INT:
 385       locals->set_int_at(index, value.i);
 386       break;
 387     case T_LONG:
 388       locals->set_long_at(index, value.j);
 389       break;
 390     case T_OBJECT:

 391       {
 392         Handle obj(Thread::current(), (oop)value.l);
 393         locals->set_obj_at(index, obj);
 394       }
 395       break;
 396     default:
 397       ShouldNotReachHere();
 398   }
 399 }
 400 
 401 void jvmtiDeferredLocalVariableSet::update_locals(StackValueCollection* locals) {
 402   for (int l = 0; l < _locals->length(); l ++) {
 403     jvmtiDeferredLocalVariable* val = _locals->at(l);
 404     if (val->index() >= 0 && val->index() < method()->max_locals()) {
 405       update_value(locals, val->type(), val->index(), val->value());
 406     }
 407   }
 408 }
 409 
 410 




 371       break;
 372     case T_FLOAT:
 373       locals->set_float_at(index, value.f);
 374       break;
 375     case T_DOUBLE:
 376       locals->set_double_at(index, value.d);
 377       break;
 378     case T_BYTE:
 379       locals->set_int_at(index, value.b);
 380       break;
 381     case T_SHORT:
 382       locals->set_int_at(index, value.s);
 383       break;
 384     case T_INT:
 385       locals->set_int_at(index, value.i);
 386       break;
 387     case T_LONG:
 388       locals->set_long_at(index, value.j);
 389       break;
 390     case T_OBJECT:
 391     case T_VALUETYPE:
 392       {
 393         Handle obj(Thread::current(), (oop)value.l);
 394         locals->set_obj_at(index, obj);
 395       }
 396       break;
 397     default:
 398       ShouldNotReachHere();
 399   }
 400 }
 401 
 402 void jvmtiDeferredLocalVariableSet::update_locals(StackValueCollection* locals) {
 403   for (int l = 0; l < _locals->length(); l ++) {
 404     jvmtiDeferredLocalVariable* val = _locals->at(l);
 405     if (val->index() >= 0 && val->index() < method()->max_locals()) {
 406       update_value(locals, val->type(), val->index(), val->value());
 407     }
 408   }
 409 }
 410 
 411 


< prev index next >