diff options
Diffstat (limited to 'deps/v8/src/isolate-inl.h')
-rw-r--r-- | deps/v8/src/isolate-inl.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/deps/v8/src/isolate-inl.h b/deps/v8/src/isolate-inl.h index 5c71d9188e..34c98bba64 100644 --- a/deps/v8/src/isolate-inl.h +++ b/deps/v8/src/isolate-inl.h @@ -76,6 +76,11 @@ bool Isolate::is_catchable_by_javascript(Object* exception) { return exception != heap()->termination_exception(); } +bool Isolate::is_catchable_by_wasm(Object* exception) { + return is_catchable_by_javascript(exception) && + (exception->IsNumber() || exception->IsSmi()); +} + void Isolate::FireBeforeCallEnteredCallback() { for (int i = 0; i < before_call_entered_callbacks_.length(); i++) { before_call_entered_callbacks_.at(i)(reinterpret_cast<v8::Isolate*>(this)); @@ -100,20 +105,6 @@ Isolate::ExceptionScope::~ExceptionScope() { isolate_->set_pending_exception(*pending_exception_); } -SaveContext::SaveContext(Isolate* isolate) - : isolate_(isolate), prev_(isolate->save_context()) { - if (isolate->context() != NULL) { - context_ = Handle<Context>(isolate->context()); - } - isolate->set_save_context(this); - c_entry_fp_ = isolate->c_entry_fp(isolate->thread_local_top()); -} - -SaveContext::~SaveContext() { - isolate_->set_context(context_.is_null() ? NULL : *context_); - isolate_->set_save_context(prev_); -} - #define NATIVE_CONTEXT_FIELD_ACCESSOR(index, type, name) \ Handle<type> Isolate::name() { \ return Handle<type>(raw_native_context()->name(), this); \ @@ -147,6 +138,11 @@ bool Isolate::IsHasInstanceLookupChainIntact() { return has_instance_cell->value() == Smi::FromInt(kArrayProtectorValid); } +bool Isolate::IsStringLengthOverflowIntact() { + PropertyCell* has_instance_cell = heap()->string_length_protector(); + return has_instance_cell->value() == Smi::FromInt(kArrayProtectorValid); +} + } // namespace internal } // namespace v8 |