1. 16 Feb, 2018 17 commits
  2. 15 Feb, 2018 21 commits
  3. 14 Feb, 2018 2 commits
    • Georg Neis's avatar
      [ic] EmitElementStore: don't miss when hitting new space limit. · af677f29
      Georg Neis authored
      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: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51297}
      af677f29
    • Jakob Kummerow's avatar
      [bigint] Implement BigInt.prototype.toLocaleString · bedff086
      Jakob Kummerow authored
      It does the same as .toString, which is "permissible but not encouraged"
      per the spec and matches our behavior for Number.prototype.toString.
      
      Bug: v8:6791
      Change-Id: I25a565391abe0d055b8ef814214ecdad254f75e2
      Reviewed-on: https://chromium-review.googlesource.com/917025Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51296}
      bedff086