21 isolate->factory()->undefined_value());
22 isolate->debug()->OnPromiseReject(promise, value);
25 if (!promise->has_handler()) {
26 isolate->ReportPromiseReject(promise, value,
37 isolate->ReportPromiseReject(promise, reason,
47 isolate->ReportPromiseReject(promise, resolution,
57 CHECK(!promise->has_handler());
69 function,
direct_handle(function->native_context(), isolate));
71 function->native_context()->microtask_queue();
112 if (IsJSPromise(*promise)) {
123 if (IsJSPromise(*promise)) {
161 DCHECK_EQ(*target, *isolate->aggregate_error_function());
175 int message_template_index =
args.smi_value_at(0);
177 constexpr int kMaxMessageArgs = 3;
179 int num_message_args = 0;
181 while (num_message_args < kMaxMessageArgs &&
182 args.length() > num_message_args + 1) {
183 message_args[num_message_args] =
args.at(num_message_args + 1);
187 args.length() >= 5 ?
args.at(4) : isolate->factory()->undefined_value();
197 isolate->aggregate_error_function(), message_string,
209 DCHECK_EQ(*target, *isolate->suppressed_error_function());
215 isolate->factory()->undefined_value()));
static void PerformCheckpoint(Isolate *isolate)
static MaybeDirectHandle< JSObject > Construct(Isolate *isolate, DirectHandle< JSFunction > target, DirectHandle< Object > new_target, DirectHandle< Object > message, DirectHandle< Object > options)
static Handle< Object > Reject(DirectHandle< JSPromise > promise, DirectHandle< Object > reason, bool debug_event=true)
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > Resolve(DirectHandle< JSPromise > promise, DirectHandle< Object > resolution)
void EnqueueMicrotask(v8::Isolate *isolate, v8::Local< Function > microtask) override
static V8_EXPORT_PRIVATE bool BooleanValue(Tagged< Object > obj, IsolateT *isolate)
#define RUNTIME_FUNCTION(Name)
#define RETURN_FAILURE_IF_EXCEPTION(isolate)
#define ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, dst, call)
MicrotaskQueue * microtask_queue
base::Vector< const DirectHandle< Object > > args
DirectHandle< Object > new_target
ZoneVector< RpoNumber > & result
constexpr Vector< T > VectorOf(T *start, size_t size)
V8_INLINE DirectHandle< T > direct_handle(Tagged< T > object, Isolate *isolate)
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
@ kPromiseHandlerAddedAfterReject
@ kPromiseRejectWithNoHandler
@ kPromiseRejectAfterResolved
@ kPromiseResolveAfterResolved
void(*)(void *data) MicrotaskCallback
T ToCData(i::Isolate *isolate, v8::internal::Tagged< v8::internal::Object > obj)
#define DCHECK_GE(v1, v2)
#define DCHECK_EQ(v1, v2)