Index: src/builtins/builtins-object.cc |
diff --git a/src/builtins/builtins-object.cc b/src/builtins/builtins-object.cc |
index 4bf1adccc0e843eeeca71f45dd8563ace4e3f9e5..abb5c47555690f309673913edbc2fa9f845615d3 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); |