Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(406)

Unified Diff: runtime/lib/object.cc

Issue 2845053003: Fix asserts in StackFrameIterator which were effectively disabled (Closed)
Patch Set: Add StackFrameIterator::{ValidationPolicy,CrossThreadPolicy} enums Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/lib/errors.cc ('k') | runtime/lib/stacktrace.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/lib/object.cc
diff --git a/runtime/lib/object.cc b/runtime/lib/object.cc
index 603f40c0acf24a19cd09e5908179e2a810453b10..c6490c76f71de81de2bdccae094491046d1ddaa1 100644
--- a/runtime/lib/object.cc
+++ b/runtime/lib/object.cc
@@ -199,7 +199,8 @@ DEFINE_NATIVE_ENTRY(Object_instanceOf, 4) {
}
if (!is_instance_of && !bound_error.IsNull()) {
// Throw a dynamic type error only if the instanceof test fails.
- DartFrameIterator iterator;
+ DartFrameIterator iterator(thread,
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* caller_frame = iterator.NextFrame();
ASSERT(caller_frame != NULL);
const TokenPosition location = caller_frame->GetTokenPos();
@@ -230,7 +231,8 @@ DEFINE_NATIVE_ENTRY(Object_simpleInstanceOf, 2) {
Object::null_type_arguments(), &bound_error);
if (!is_instance_of && !bound_error.IsNull()) {
// Throw a dynamic type error only if the instanceof test fails.
- DartFrameIterator iterator;
+ DartFrameIterator iterator(thread,
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* caller_frame = iterator.NextFrame();
ASSERT(caller_frame != NULL);
const TokenPosition location = caller_frame->GetTokenPos();
@@ -276,7 +278,8 @@ DEFINE_NATIVE_ENTRY(Object_as, 4) {
}
}
if (!is_instance_of) {
- DartFrameIterator iterator;
+ DartFrameIterator iterator(thread,
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* caller_frame = iterator.NextFrame();
ASSERT(caller_frame != NULL);
const TokenPosition location = caller_frame->GetTokenPos();
« no previous file with comments | « runtime/lib/errors.cc ('k') | runtime/lib/stacktrace.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698