OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 if (FLAG_trace_osr) { | 166 if (FLAG_trace_osr) { |
167 PrintF("[patching stack checks in "); | 167 PrintF("[patching stack checks in "); |
168 function->PrintName(); | 168 function->PrintName(); |
169 PrintF(" for on-stack replacement]\n"); | 169 PrintF(" for on-stack replacement]\n"); |
170 } | 170 } |
171 | 171 |
172 // Get the stack check stub code object to match against. We aren't | 172 // Get the stack check stub code object to match against. We aren't |
173 // prepared to generate it, but we don't expect to have to. | 173 // prepared to generate it, but we don't expect to have to. |
174 bool found_code = false; | 174 bool found_code = false; |
175 Code* stack_check_code = NULL; | 175 Code* stack_check_code = NULL; |
176 #ifdef V8_TARGET_ARCH_IA32 | 176 #if defined(V8_TARGET_ARCH_IA32) || defined(V8_TARGET_ARCH_ARM) |
177 if (FLAG_count_based_interrupts) { | 177 if (FLAG_count_based_interrupts) { |
178 InterruptStub interrupt_stub; | 178 InterruptStub interrupt_stub; |
179 found_code = interrupt_stub.FindCodeInCache(&stack_check_code); | 179 found_code = interrupt_stub.FindCodeInCache(&stack_check_code); |
180 } else // NOLINT | 180 } else // NOLINT |
181 #endif | 181 #endif |
182 { // NOLINT | 182 { // NOLINT |
183 StackCheckStub check_stub; | 183 StackCheckStub check_stub; |
184 found_code = check_stub.FindCodeInCache(&stack_check_code); | 184 found_code = check_stub.FindCodeInCache(&stack_check_code); |
185 } | 185 } |
186 if (found_code) { | 186 if (found_code) { |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 // this as part of collecting them because this will interfere with | 337 // this as part of collecting them because this will interfere with |
338 // the sample lookup in case of recursive functions. | 338 // the sample lookup in case of recursive functions. |
339 for (int i = 0; i < sample_count; i++) { | 339 for (int i = 0; i < sample_count; i++) { |
340 AddSample(samples[i], kSamplerFrameWeight[i]); | 340 AddSample(samples[i], kSamplerFrameWeight[i]); |
341 } | 341 } |
342 } | 342 } |
343 } | 343 } |
344 | 344 |
345 | 345 |
346 void RuntimeProfiler::NotifyTick() { | 346 void RuntimeProfiler::NotifyTick() { |
347 #ifdef V8_TARGET_ARCH_IA32 | 347 #if defined(V8_TARGET_ARCH_IA32) || defined(V8_TARGET_ARCH_ARM) |
348 if (FLAG_count_based_interrupts) return; | 348 if (FLAG_count_based_interrupts) return; |
349 #endif | 349 #endif |
350 isolate_->stack_guard()->RequestRuntimeProfilerTick(); | 350 isolate_->stack_guard()->RequestRuntimeProfilerTick(); |
351 } | 351 } |
352 | 352 |
353 | 353 |
354 void RuntimeProfiler::SetUp() { | 354 void RuntimeProfiler::SetUp() { |
355 ASSERT(has_been_globally_set_up_); | 355 ASSERT(has_been_globally_set_up_); |
356 if (!FLAG_watch_ic_patching) { | 356 if (!FLAG_watch_ic_patching) { |
357 ClearSampleBuffer(); | 357 ClearSampleBuffer(); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 | 467 |
468 bool RuntimeProfilerRateLimiter::SuspendIfNecessary() { | 468 bool RuntimeProfilerRateLimiter::SuspendIfNecessary() { |
469 if (!RuntimeProfiler::IsSomeIsolateInJS()) { | 469 if (!RuntimeProfiler::IsSomeIsolateInJS()) { |
470 return RuntimeProfiler::WaitForSomeIsolateToEnterJS(); | 470 return RuntimeProfiler::WaitForSomeIsolateToEnterJS(); |
471 } | 471 } |
472 return false; | 472 return false; |
473 } | 473 } |
474 | 474 |
475 | 475 |
476 } } // namespace v8::internal | 476 } } // namespace v8::internal |
OLD | NEW |