Index: src/builtins/builtins-object.cc |
diff --git a/src/builtins/builtins-object.cc b/src/builtins/builtins-object.cc |
index 78df2d6b821904ece4e9c5d9ac59c2613c0560d5..671397d9eacd118c0a053614cad4a540a244c194 100644 |
--- a/src/builtins/builtins-object.cc |
+++ b/src/builtins/builtins-object.cc |
@@ -46,6 +46,10 @@ void Builtins::Generate_ObjectHasOwnProperty(CodeStubAssembler* assembler) { |
&return_false, &call_runtime); |
assembler->Bind(&keyisindex); |
+ // Handle negative keys in the runtime. |
+ assembler->GotoIf(assembler->IntPtrLessThan(var_index.value(), |
+ assembler->IntPtrConstant(0)), |
+ &call_runtime); |
assembler->TryLookupElement(object, map, instance_type, var_index.value(), |
&return_true, &return_false, &call_runtime); |