• Home
  • Raw
  • Download

Lines Matching refs:function

101 void TraceInOptimizationQueue(JSFunction function) {  in TraceInOptimizationQueue()  argument
104 function.DebugNameCStr().get()); in TraceInOptimizationQueue()
108 void TraceHeuristicOptimizationDisallowed(JSFunction function) { in TraceHeuristicOptimizationDisallowed() argument
113 function.DebugNameCStr().get()); in TraceHeuristicOptimizationDisallowed()
117 void TraceRecompile(Isolate* isolate, JSFunction function, in TraceRecompile() argument
122 function.ShortPrint(scope.file()); in TraceRecompile()
132 void TraceManualRecompile(JSFunction function, CodeKind code_kind, in TraceManualRecompile() argument
136 function.ShortPrint(); in TraceManualRecompile()
142 void TieringManager::Optimize(JSFunction function, CodeKind code_kind, in Optimize() argument
145 TraceRecompile(isolate_, function, d); in Optimize()
146 function.MarkForOptimization(isolate_, d.code_kind, d.concurrency_mode); in Optimize()
153 JSFunction function = frame->function(); in HaveCachedOSRCodeForCurrentBytecodeOffset() local
155 OSROptimizedCodeCache cache = function.native_context().osr_code_cache(); in HaveCachedOSRCodeForCurrentBytecodeOffset()
158 for (BytecodeOffset osr_offset : cache.OsrOffsetsFor(function.shared())) { in HaveCachedOSRCodeForCurrentBytecodeOffset()
188 int TieringManager::InterruptBudgetFor(Isolate* isolate, JSFunction function) { in InterruptBudgetFor() argument
189 if (function.has_feedback_vector()) { in InterruptBudgetFor()
190 return TiersUpToMaglev(function.GetActiveTier()) in InterruptBudgetFor()
195 DCHECK(!function.has_feedback_vector()); in InterruptBudgetFor()
196 DCHECK(function.shared().is_compiled()); in InterruptBudgetFor()
197 return function.shared().GetBytecodeArray(isolate).length() * in InterruptBudgetFor()
210 bool SmallEnoughForOSR(Isolate* isolate, JSFunction function) { in SmallEnoughForOSR() argument
211 return function.shared().GetBytecodeArray(isolate).length() <= in SmallEnoughForOSR()
213 function.feedback_vector().profiler_ticks() * in SmallEnoughForOSR()
217 void TrySetOsrUrgency(Isolate* isolate, JSFunction function, int osr_urgency) { in TrySetOsrUrgency() argument
218 SharedFunctionInfo shared = function.shared(); in TrySetOsrUrgency()
232 function.DebugNameCStr().get(), bytecode.osr_urgency(), osr_urgency); in TrySetOsrUrgency()
239 void TryIncrementOsrUrgency(Isolate* isolate, JSFunction function) { in TryIncrementOsrUrgency() argument
240 int old_urgency = function.shared().GetBytecodeArray(isolate).osr_urgency(); in TryIncrementOsrUrgency()
242 TrySetOsrUrgency(isolate, function, new_urgency); in TryIncrementOsrUrgency()
245 void TryRequestOsrAtNextOpportunity(Isolate* isolate, JSFunction function) { in TryRequestOsrAtNextOpportunity() argument
246 TrySetOsrUrgency(isolate, function, BytecodeArray::kMaxOsrUrgency); in TryRequestOsrAtNextOpportunity()
249 void TryRequestOsrForCachedOsrCode(Isolate* isolate, JSFunction function, in TryRequestOsrForCachedOsrCode() argument
252 int old_urgency = function.shared().GetBytecodeArray(isolate).osr_urgency(); in TryRequestOsrForCachedOsrCode()
255 TrySetOsrUrgency(isolate, function, new_urgency); in TryRequestOsrForCachedOsrCode()
265 void TieringManager::RequestOsrAtNextOpportunity(JSFunction function) { in RequestOsrAtNextOpportunity() argument
267 TryRequestOsrAtNextOpportunity(isolate_, function); in RequestOsrAtNextOpportunity()
270 void TieringManager::MaybeOptimizeFrame(JSFunction function, in MaybeOptimizeFrame() argument
273 const TieringState tiering_state = function.feedback_vector().tiering_state(); in MaybeOptimizeFrame()
275 function.feedback_vector().osr_tiering_state(); in MaybeOptimizeFrame()
280 TraceInOptimizationQueue(function); in MaybeOptimizeFrame()
286 function)) { in MaybeOptimizeFrame()
287 TraceHeuristicOptimizationDisallowed(function); in MaybeOptimizeFrame()
292 if (V8_UNLIKELY(function.shared().optimization_disabled())) return; in MaybeOptimizeFrame()
295 TryRequestOsrAtNextOpportunity(isolate_, function); in MaybeOptimizeFrame()
303 TryRequestOsrForCachedOsrCode(isolate_, function, in MaybeOptimizeFrame()
309 if (is_marked_for_any_optimization || function.HasAvailableOptimizedCode()) { in MaybeOptimizeFrame()
312 if (SmallEnoughForOSR(isolate_, function)) { in MaybeOptimizeFrame()
313 TryIncrementOsrUrgency(isolate_, function); in MaybeOptimizeFrame()
322 !function.HasAvailableOptimizedCode()); in MaybeOptimizeFrame()
323 OptimizationDecision d = ShouldOptimize(function, code_kind, frame); in MaybeOptimizeFrame()
324 if (d.should_optimize()) Optimize(function, code_kind, d); in MaybeOptimizeFrame()
327 OptimizationDecision TieringManager::ShouldOptimize(JSFunction function, in ShouldOptimize() argument
330 DCHECK_EQ(code_kind, function.GetActiveTier().value()); in ShouldOptimize()
333 !function.shared(isolate_).maglev_compilation_failed()) { in ShouldOptimize()
340 BytecodeArray bytecode = function.shared().GetBytecodeArray(isolate_); in ShouldOptimize()
341 const int ticks = function.feedback_vector().profiler_ticks(); in ShouldOptimize()
354 function.DebugNameCStr().get(), ticks, ticks_for_optimization); in ShouldOptimize()
377 void TieringManager::OnInterruptTick(Handle<JSFunction> function) { in OnInterruptTick() argument
379 function->shared().is_compiled_scope(isolate_)); in OnInterruptTick()
385 const bool had_feedback_vector = function->has_feedback_vector(); in OnInterruptTick()
390 function->SetInterruptBudget(isolate_); in OnInterruptTick()
392 JSFunction::CreateAndAttachFeedbackVector(isolate_, function, in OnInterruptTick()
398 function->feedback_vector().set_invocation_count(1, kRelaxedStore); in OnInterruptTick()
401 DCHECK(function->has_feedback_vector()); in OnInterruptTick()
402 DCHECK(function->shared().is_compiled()); in OnInterruptTick()
403 DCHECK(function->shared().HasBytecodeArray()); in OnInterruptTick()
413 if (CanCompileWithBaseline(isolate_, function->shared()) && in OnInterruptTick()
414 !function->ActiveTierIsBaseline()) { in OnInterruptTick()
416 isolate_->baseline_batch_compiler()->EnqueueFunction(function); in OnInterruptTick()
419 function->shared().is_compiled_scope(isolate_)); in OnInterruptTick()
420 Compiler::CompileBaseline(isolate_, function, Compiler::CLEAR_EXCEPTION, in OnInterruptTick()
436 JSFunction function_obj = *function; in OnInterruptTick()