1. 15 Feb, 2018 1 commit
    • Georg Neis's avatar
      Reland "[ic] EmitElementStore: don't miss when hitting new space limit." · a50bc8ac
      Georg Neis authored
      This is a reland of af677f29, fixing
      an issue with negative indices.
      
      Original change's description:
      > [ic] EmitElementStore: don't miss when hitting new space limit.
      >
      > CSA::EmitElementStore used to bail out (IC miss) via
      > CSA::CheckForCapacityGrow when the capacity hits the new space
      > limit, causing the store IC to go megamorphic in my example (see
      > referenced bug). With this CL, we do what TF'ed code does already:
      > call into Runtime::kGrowArrayElements (in this situation), thus
      > staying monomorphic.
      >
      > Here's a contrived test case:
      >
      > ////////////////////////
      > let x = [];
      >
      > function bar() {
      >   for (let i = 0; i < 50000; ++i) x[i] = i;
      > }
      >
      > function foo() {
      >   for (let i = x.length; i < 100e6; ++i) x[i] = i;
      > }
      >
      > bar();
      > foo();
      > ////////////////////////
      >
      > This took about 4s on my machine, now it takes 3s.
      >
      > Bug: v8:7447
      > Change-Id: I7f268fc55835f363d250613ce0357444a663051c
      > Reviewed-on: https://chromium-review.googlesource.com/918723
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51297}
      
      Bug: v8:7447, chromium:812451
      Change-Id: I345b5e5b2437c4f50e42bbd87947630f24cd95eb
      Reviewed-on: https://chromium-review.googlesource.com/921201
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51311}
      a50bc8ac
  2. 01 Feb, 2018 1 commit
  3. 10 Jan, 2018 1 commit
  4. 09 Jan, 2018 1 commit