Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:05:25

0001 // Copyright 2021 the V8 project authors. All rights reserved.
0002 // Use of this source code is governed by a BSD-style license that can be
0003 // found in the LICENSE file.
0004 
0005 #ifndef INCLUDE_V8_MICROTASK_H_
0006 #define INCLUDE_V8_MICROTASK_H_
0007 
0008 namespace v8 {
0009 
0010 class Isolate;
0011 
0012 // --- Microtasks Callbacks ---
0013 using MicrotasksCompletedCallbackWithData = void (*)(Isolate*, void*);
0014 using MicrotaskCallback = void (*)(void* data);
0015 
0016 /**
0017  * Policy for running microtasks:
0018  *   - explicit: microtasks are invoked with the
0019  *               Isolate::PerformMicrotaskCheckpoint() method;
0020  *   - scoped: microtasks invocation is controlled by MicrotasksScope objects;
0021  *   - auto: microtasks are invoked when the script call depth decrements
0022  *           to zero.
0023  */
0024 enum class MicrotasksPolicy { kExplicit, kScoped, kAuto };
0025 
0026 }  // namespace v8
0027 
0028 #endif  // INCLUDE_V8_MICROTASK_H_