Revert of Revert of X87: Reimplement Maps and Sets in JS (patchset #1 id:1 of https...
authorhablich <hablich@chromium.org>
Thu, 9 Apr 2015 07:11:12 +0000 (00:11 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 9 Apr 2015 07:11:13 +0000 (07:11 +0000)
Reason for revert:
Revert the revert as this commit cannot be the cause for the closed tree.

Original issue's description:
> Revert of X87: Reimplement Maps and Sets in JS (patchset #1 id:1 of https://codereview.chromium.org/1066373002/)
>
> Reason for revert:
> Reverting as it resulted in a closed waterfall.
>
> Original issue's description:
> > X87: Reimplement Maps and Sets in JS
> >
> > port 909500aa1db9789b68e101045a6359a7fcb30e83 (r27605)
> >
> > original commit message:
> >     Previously, the only optimized code path for Maps and Sets was for String keys.
> >     This was achieved through an implementation of various complex operations
> >     in Hydrogen. This approach was neither scalable nor forward-compatible.
> >
> >     This patch adds the necessary intrinsics to implement Maps and Sets almost entirely
> >     in JS. The added intrinsics are:
> >
> >       %_FixedArrayGet
> >       %_FixedArraySet
> >       %_TheHole
> >       %_JSCollectionGetTable
> >       %_StringGetRawHashField
> >
> >     With these additions, as well as a few changes to what's exposed as runtime functions,
> >     most of the C++ code backing Maps and Sets is gone (including both runtime code in
> >     objects.cc and Crankshaft in hydrogen.cc).
> >
> > BUG=
> >
> > Committed: https://crrev.com/56600a35a49ffa5abcba66b14839089de3589ad9
> > Cr-Commit-Position: refs/heads/master@{#27681}
>
> TBR=weiliang.lin@intel.com,chunyang.dai@intel.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/a0486f128109443ed07802fb463c267e53533d81
> Cr-Commit-Position: refs/heads/master@{#27682}

TBR=weiliang.lin@intel.com,chunyang.dai@intel.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1077543002

Cr-Commit-Position: refs/heads/master@{#27685}

src/x87/code-stubs-x87.cc

index e0c8f3d..2cd2e7b 100644 (file)
@@ -2186,16 +2186,6 @@ void CEntryStub::Generate(MacroAssembler* masm) {
   __ call(ebx);
   // Result is in eax or edx:eax - do not destroy these registers!
 
-  // Runtime functions should not return 'the hole'.  Allowing it to escape may
-  // lead to crashes in the IC code later.
-  if (FLAG_debug_code) {
-    Label okay;
-    __ cmp(eax, isolate()->factory()->the_hole_value());
-    __ j(not_equal, &okay, Label::kNear);
-    __ int3();
-    __ bind(&okay);
-  }
-
   // Check result for exception sentinel.
   Label exception_returned;
   __ cmp(eax, isolate()->factory()->exception());