Index: src/isolate.cc |
diff --git a/src/isolate.cc b/src/isolate.cc |
index 792706dc71c54dc2de0bd5f992044004d26f2b46..1701a919af6dec608d41c8b1abdcaaa52e35efbd 100644 |
--- a/src/isolate.cc |
+++ b/src/isolate.cc |
@@ -3070,26 +3070,34 @@ void Isolate::ReportPromiseReject(Handle<JSObject> promise, |
namespace { |
class PromiseDebugEventScope { |
public: |
- PromiseDebugEventScope(Isolate* isolate, Object* before, Object* after) |
+ PromiseDebugEventScope(Isolate* isolate, Object* id, Object* name) |
: isolate_(isolate), |
- after_(after, isolate_), |
+ id_(id, isolate_), |
+ name_(name, isolate_), |
is_debug_active_(isolate_->debug()->is_active() && |
- before->IsJSObject() && after->IsJSObject()) { |
+ !id_->IsUndefined(isolate_) && |
+ !name_->IsUndefined(isolate_)) { |
if (is_debug_active_) { |
+ static const char will_handle[] = "willHandle"; |
adamk
2016/10/13 15:59:10
Rather than recreating a string for this every tim
gsathya
2016/10/13 21:27:30
Done.
|
isolate_->debug()->OnAsyncTaskEvent( |
- handle(JSObject::cast(before), isolate_)); |
+ isolate_->factory()->NewStringFromAsciiChecked(will_handle), id_, |
+ name_); |
} |
} |
~PromiseDebugEventScope() { |
if (is_debug_active_) { |
- isolate_->debug()->OnAsyncTaskEvent(Handle<JSObject>::cast(after_)); |
+ static const char did_handle[] = "didHandle"; |
+ isolate_->debug()->OnAsyncTaskEvent( |
+ isolate_->factory()->NewStringFromAsciiChecked(did_handle), id_, |
+ name_); |
} |
} |
private: |
Isolate* isolate_; |
- Handle<Object> after_; |
+ Handle<Object> id_; |
+ Handle<Object> name_; |
bool is_debug_active_; |
}; |
} // namespace |
@@ -3097,8 +3105,7 @@ class PromiseDebugEventScope { |
void Isolate::PromiseReactionJob(Handle<PromiseReactionJobInfo> info, |
MaybeHandle<Object>* result, |
MaybeHandle<Object>* maybe_exception) { |
- PromiseDebugEventScope helper(this, info->before_debug_event(), |
- info->after_debug_event()); |
+ PromiseDebugEventScope helper(this, info->id(), info->name()); |
Handle<Object> value(info->value(), this); |
Handle<Object> tasks(info->tasks(), this); |
@@ -3139,8 +3146,7 @@ void Isolate::PromiseReactionJob(Handle<PromiseReactionJobInfo> info, |
void Isolate::PromiseResolveThenableJob( |
Handle<PromiseResolveThenableJobInfo> info, MaybeHandle<Object>* result, |
MaybeHandle<Object>* maybe_exception) { |
- PromiseDebugEventScope helper(this, info->before_debug_event(), |
- info->after_debug_event()); |
+ PromiseDebugEventScope helper(this, info->id(), info->name()); |
Handle<JSReceiver> thenable(info->thenable(), this); |
Handle<JSFunction> resolve(info->resolve(), this); |