comparison src/share/vm/ci/ciMethod.cpp @ 14518:d8041d695d19

Merged with jdk9/dev/hotspot changeset 3812c088b945
author twisti
date Tue, 11 Mar 2014 18:45:59 -0700
parents 096c224171c4 96d2c94bbdd0
children b51e29501f30 4ca6dc0799b6
comparison
equal deleted inserted replaced
14141:f97c5ec83832 14518:d8041d695d19
410 // Which local variables are live at a specific bci? When debugging 410 // Which local variables are live at a specific bci? When debugging
411 // will return true for all locals in some cases to improve debug 411 // will return true for all locals in some cases to improve debug
412 // information. 412 // information.
413 MethodLivenessResult ciMethod::liveness_at_bci(int bci) { 413 MethodLivenessResult ciMethod::liveness_at_bci(int bci) {
414 MethodLivenessResult result = raw_liveness_at_bci(bci); 414 MethodLivenessResult result = raw_liveness_at_bci(bci);
415 if (CURRENT_ENV->jvmti_can_access_local_variables() || DeoptimizeALot || CompileTheWorld) { 415 if (CURRENT_ENV->should_retain_local_variables() || DeoptimizeALot || CompileTheWorld) {
416 // Keep all locals live for the user's edification and amusement. 416 // Keep all locals live for the user's edification and amusement.
417 result.at_put_range(0, result.size(), true); 417 result.at_put_range(0, result.size(), true);
418 } 418 }
419 return result; 419 return result;
420 } 420 }
1355 return _method_blocks; 1355 return _method_blocks;
1356 } 1356 }
1357 1357
1358 #undef FETCH_FLAG_FROM_VM 1358 #undef FETCH_FLAG_FROM_VM
1359 1359
1360 void ciMethod::dump_name_as_ascii(outputStream* st) {
1361 Method* method = get_Method();
1362 st->print("%s %s %s",
1363 method->klass_name()->as_quoted_ascii(),
1364 method->name()->as_quoted_ascii(),
1365 method->signature()->as_quoted_ascii());
1366 }
1367
1360 void ciMethod::dump_replay_data(outputStream* st) { 1368 void ciMethod::dump_replay_data(outputStream* st) {
1361 ResourceMark rm; 1369 ResourceMark rm;
1362 Method* method = get_Method(); 1370 Method* method = get_Method();
1363 MethodCounters* mcs = method->method_counters(); 1371 MethodCounters* mcs = method->method_counters();
1364 Klass* holder = method->method_holder(); 1372 st->print("ciMethod ");
1365 st->print_cr("ciMethod %s %s %s %d %d %d %d %d", 1373 dump_name_as_ascii(st);
1366 holder->name()->as_quoted_ascii(), 1374 st->print_cr(" %d %d %d %d %d",
1367 method->name()->as_quoted_ascii(),
1368 method->signature()->as_quoted_ascii(),
1369 mcs == NULL ? 0 : mcs->invocation_counter()->raw_counter(), 1375 mcs == NULL ? 0 : mcs->invocation_counter()->raw_counter(),
1370 mcs == NULL ? 0 : mcs->backedge_counter()->raw_counter(), 1376 mcs == NULL ? 0 : mcs->backedge_counter()->raw_counter(),
1371 interpreter_invocation_count(), 1377 interpreter_invocation_count(),
1372 interpreter_throwout_count(), 1378 interpreter_throwout_count(),
1373 _instructions_size); 1379 _instructions_size);