2378 // Could not represent the count in the histogram.
2379 return (++_nof_overflow_traps);
2380 }
2381 }
2382
2383 uint overflow_trap_count() const {
2384 return _nof_overflow_traps;
2385 }
2386 uint overflow_recompile_count() const {
2387 return _nof_overflow_recompiles;
2388 }
2389 void inc_overflow_recompile_count() {
2390 _nof_overflow_recompiles += 1;
2391 }
2392 uint decompile_count() const {
2393 return _nof_decompiles;
2394 }
2395 void inc_decompile_count() {
2396 _nof_decompiles += 1;
2397 if (decompile_count() > (uint)PerMethodRecompilationCutoff) {
2398 method()->set_not_compilable(CompLevel_full_optimization, true, "decompile_count > PerMethodRecompilationCutoff");
2399 }
2400 }
2401
2402 // Return pointer to area dedicated to parameters in MDO
2403 ParametersTypeData* parameters_type_data() const {
2404 return _parameters_type_data_di != -1 ? data_layout_at(_parameters_type_data_di)->data_in()->as_ParametersTypeData() : NULL;
2405 }
2406
2407 int parameters_type_data_di() const {
2408 assert(_parameters_type_data_di != -1, "no args type data");
2409 return _parameters_type_data_di;
2410 }
2411
2412 // Support for code generation
2413 static ByteSize data_offset() {
2414 return byte_offset_of(MethodData, _data[0]);
2415 }
2416
2417 static ByteSize invocation_counter_offset() {
2418 return byte_offset_of(MethodData, _invocation_counter);
|
2378 // Could not represent the count in the histogram.
2379 return (++_nof_overflow_traps);
2380 }
2381 }
2382
2383 uint overflow_trap_count() const {
2384 return _nof_overflow_traps;
2385 }
2386 uint overflow_recompile_count() const {
2387 return _nof_overflow_recompiles;
2388 }
2389 void inc_overflow_recompile_count() {
2390 _nof_overflow_recompiles += 1;
2391 }
2392 uint decompile_count() const {
2393 return _nof_decompiles;
2394 }
2395 void inc_decompile_count() {
2396 _nof_decompiles += 1;
2397 if (decompile_count() > (uint)PerMethodRecompilationCutoff) {
2398 method()->set_not_compilable(CompLevel_all, true, "decompile_count > PerMethodRecompilationCutoff");
2399 }
2400 }
2401
2402 // Return pointer to area dedicated to parameters in MDO
2403 ParametersTypeData* parameters_type_data() const {
2404 return _parameters_type_data_di != -1 ? data_layout_at(_parameters_type_data_di)->data_in()->as_ParametersTypeData() : NULL;
2405 }
2406
2407 int parameters_type_data_di() const {
2408 assert(_parameters_type_data_di != -1, "no args type data");
2409 return _parameters_type_data_di;
2410 }
2411
2412 // Support for code generation
2413 static ByteSize data_offset() {
2414 return byte_offset_of(MethodData, _data[0]);
2415 }
2416
2417 static ByteSize invocation_counter_offset() {
2418 return byte_offset_of(MethodData, _invocation_counter);
|