Index: runtime/vm/intrinsifier_arm.cc |
=================================================================== |
--- runtime/vm/intrinsifier_arm.cc (revision 43426) |
+++ runtime/vm/intrinsifier_arm.cc (working copy) |
@@ -27,6 +27,11 @@ |
intptr_t Intrinsifier::ParameterSlotFromSp() { return -1; } |
+static bool TypeChecksEnabled() { |
+ return FLAG_enable_type_checks || Isolate::Current()->checked_mode(); |
+} |
+ |
+ |
static intptr_t ComputeObjectArrayTypeArgumentsOffset() { |
const Library& core_lib = Library::Handle(Library::CoreLibrary()); |
const Class& cls = Class::Handle( |
@@ -44,7 +49,7 @@ |
void Intrinsifier::ObjectArraySetIndexed(Assembler* assembler) { |
Label fall_through; |
- if (FLAG_enable_type_checks) { |
+ if (TypeChecksEnabled()) { |
const intptr_t type_args_field_offset = |
ComputeObjectArrayTypeArgumentsOffset(); |
// Inline simple tests (Smi, null), fallthrough if not positive. |
@@ -147,7 +152,7 @@ |
// On stack: growable array (+1), value (+0). |
void Intrinsifier::GrowableArray_add(Assembler* assembler) { |
// In checked mode we need to type-check the incoming argument. |
- if (FLAG_enable_type_checks) { |
+ if (TypeChecksEnabled()) { |
return; |
} |
Label fall_through; |