summaryrefslogtreecommitdiff
path: root/deps/v8/src/isolate-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/isolate-inl.h')
-rw-r--r--deps/v8/src/isolate-inl.h24
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