Index: runtime/vm/intrinsifier_x64.cc |
=================================================================== |
--- runtime/vm/intrinsifier_x64.cc (revision 43426) |
+++ runtime/vm/intrinsifier_x64.cc (working copy) |
@@ -32,8 +32,13 @@ |
intptr_t Intrinsifier::ParameterSlotFromSp() { return 0; } |
+static bool TypeChecksEnabled() { |
+ return FLAG_enable_type_checks || Isolate::Current()->checked_mode(); |
+} |
+ |
+ |
void Intrinsifier::ObjectArraySetIndexed(Assembler* assembler) { |
- if (FLAG_enable_type_checks) { |
+ if (TypeChecksEnabled()) { |
return; |
} |
__ movq(RDX, Address(RSP, + 1 * kWordSize)); // Value. |
@@ -102,7 +107,7 @@ |
// On stack: growable array (+2), value (+1), return-address (+0). |
void Intrinsifier::GrowableArray_add(Assembler* assembler) { |
// In checked mode we need to check the incoming argument. |
- if (FLAG_enable_type_checks) return; |
+ if (TypeChecksEnabled()) return; |
Label fall_through; |
__ movq(RAX, Address(RSP, + 2 * kWordSize)); // Array. |
__ movq(RCX, FieldAddress(RAX, GrowableObjectArray::length_offset())); |