| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 // If the threshold is not already at the minimum | 200 // If the threshold is not already at the minimum |
| 201 // modify and reset the ticks until next adjustment. | 201 // modify and reset the ticks until next adjustment. |
| 202 if (sampler_threshold_ > kSamplerThresholdMin) { | 202 if (sampler_threshold_ > kSamplerThresholdMin) { |
| 203 sampler_threshold_ -= kSamplerThresholdDelta; | 203 sampler_threshold_ -= kSamplerThresholdDelta; |
| 204 sampler_ticks_until_threshold_adjustment_ = | 204 sampler_ticks_until_threshold_adjustment_ = |
| 205 kSamplerTicksBetweenThresholdAdjustment; | 205 kSamplerTicksBetweenThresholdAdjustment; |
| 206 } | 206 } |
| 207 } | 207 } |
| 208 } | 208 } |
| 209 | 209 |
| 210 if (function->IsMarkedForLazyRecompilation()) { | 210 if (function->IsMarkedForLazyRecompilation() && |
| 211 function->shared()->code()->kind() == Code::FUNCTION) { |
| 211 Code* unoptimized = function->shared()->code(); | 212 Code* unoptimized = function->shared()->code(); |
| 212 int nesting = unoptimized->allow_osr_at_loop_nesting_level(); | 213 int nesting = unoptimized->allow_osr_at_loop_nesting_level(); |
| 213 if (nesting == 0) AttemptOnStackReplacement(function); | 214 if (nesting == 0) AttemptOnStackReplacement(function); |
| 214 int new_nesting = Min(nesting + 1, Code::kMaxLoopNestingMarker); | 215 int new_nesting = Min(nesting + 1, Code::kMaxLoopNestingMarker); |
| 215 unoptimized->set_allow_osr_at_loop_nesting_level(new_nesting); | 216 unoptimized->set_allow_osr_at_loop_nesting_level(new_nesting); |
| 216 } | 217 } |
| 217 | 218 |
| 218 // Do not record non-optimizable functions. | 219 // Do not record non-optimizable functions. |
| 219 if (!function->IsOptimizable()) continue; | 220 if (!function->IsOptimizable()) continue; |
| 220 samples[sample_count++] = function; | 221 samples[sample_count++] = function; |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 | 356 |
| 356 bool RuntimeProfilerRateLimiter::SuspendIfNecessary() { | 357 bool RuntimeProfilerRateLimiter::SuspendIfNecessary() { |
| 357 if (!RuntimeProfiler::IsSomeIsolateInJS()) { | 358 if (!RuntimeProfiler::IsSomeIsolateInJS()) { |
| 358 return RuntimeProfiler::WaitForSomeIsolateToEnterJS(); | 359 return RuntimeProfiler::WaitForSomeIsolateToEnterJS(); |
| 359 } | 360 } |
| 360 return false; | 361 return false; |
| 361 } | 362 } |
| 362 | 363 |
| 363 | 364 |
| 364 } } // namespace v8::internal | 365 } } // namespace v8::internal |
| OLD | NEW |