src/share/vm/ci/ciMethodData.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/ci

src/share/vm/ci/ciMethodData.cpp

Print this page




 376   VM_ENTRY_MARK;
 377   MethodData* mdo = get_MethodData();
 378   if ( mdo != NULL) {
 379     mdo->set_eflags(_eflags);
 380     mdo->set_arg_local(_arg_local);
 381     mdo->set_arg_stack(_arg_stack);
 382     mdo->set_arg_returned(_arg_returned);
 383     int arg_count = mdo->method()->size_of_parameters();
 384     for (int i = 0; i < arg_count; i++) {
 385       mdo->set_arg_modified(i, arg_modified(i));
 386     }
 387   }
 388 }
 389 
 390 void ciMethodData::set_compilation_stats(short loops, short blocks) {
 391   VM_ENTRY_MARK;
 392   MethodData* mdo = get_MethodData();
 393   if (mdo != NULL) {
 394     mdo->set_num_loops(loops);
 395     mdo->set_num_blocks(blocks);

 396   }
 397 }
 398 
 399 void ciMethodData::set_would_profile(bool p) {
 400   VM_ENTRY_MARK;
 401   MethodData* mdo = get_MethodData();
 402   if (mdo != NULL) {
 403     mdo->set_would_profile(p);
 404   }
 405 }
 406 
 407 void ciMethodData::set_argument_type(int bci, int i, ciKlass* k) {
 408   VM_ENTRY_MARK;
 409   MethodData* mdo = get_MethodData();
 410   if (mdo != NULL) {
 411     ProfileData* data = mdo->bci_to_data(bci);
 412     if (data->is_CallTypeData()) {
 413       data->as_CallTypeData()->set_argument_type(i, k->get_Klass());
 414     } else {
 415       assert(data->is_VirtualCallTypeData(), "no arguments!");




 376   VM_ENTRY_MARK;
 377   MethodData* mdo = get_MethodData();
 378   if ( mdo != NULL) {
 379     mdo->set_eflags(_eflags);
 380     mdo->set_arg_local(_arg_local);
 381     mdo->set_arg_stack(_arg_stack);
 382     mdo->set_arg_returned(_arg_returned);
 383     int arg_count = mdo->method()->size_of_parameters();
 384     for (int i = 0; i < arg_count; i++) {
 385       mdo->set_arg_modified(i, arg_modified(i));
 386     }
 387   }
 388 }
 389 
 390 void ciMethodData::set_compilation_stats(short loops, short blocks) {
 391   VM_ENTRY_MARK;
 392   MethodData* mdo = get_MethodData();
 393   if (mdo != NULL) {
 394     mdo->set_num_loops(loops);
 395     mdo->set_num_blocks(blocks);
 396     mdo->set_stats_valid(true);
 397   }
 398 }
 399 
 400 void ciMethodData::set_would_profile(bool p) {
 401   VM_ENTRY_MARK;
 402   MethodData* mdo = get_MethodData();
 403   if (mdo != NULL) {
 404     mdo->set_would_profile(p);
 405   }
 406 }
 407 
 408 void ciMethodData::set_argument_type(int bci, int i, ciKlass* k) {
 409   VM_ENTRY_MARK;
 410   MethodData* mdo = get_MethodData();
 411   if (mdo != NULL) {
 412     ProfileData* data = mdo->bci_to_data(bci);
 413     if (data->is_CallTypeData()) {
 414       data->as_CallTypeData()->set_argument_type(i, k->get_Klass());
 415     } else {
 416       assert(data->is_VirtualCallTypeData(), "no arguments!");


src/share/vm/ci/ciMethodData.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File