1. 08 Sep, 2015 11 commits
    • mstarzinger's avatar
      Use baseline code to compute message locations. · 819b40aa
      mstarzinger authored
      This switches Isolate::ComputeLocation to use baseline code when
      computing message locations. This unifies locations between optimized
      and non-optimized code by always going through the FrameSummary for
      location computation.
      
      R=bmeurer@chromium.org
      TEST=message/regress/regress-4266
      BUG=v8:4266
      LOG=n
      
      Review URL: https://codereview.chromium.org/1331603002
      
      Cr-Commit-Position: refs/heads/master@{#30635}
      819b40aa
    • bmeurer's avatar
      [runtime] Replace many buggy uses of %_CallFunction with %_Call. · db2ba190
      bmeurer authored
      The semantics of the %_CallFunction intrinsic seem to be very unclear,
      which resulted in a lot of bugs. Especially the combination with
      %IsSloppyModeFunction is always a bug, because the receiver would be
      wrapped in the wrong context. So the %IsSloppyModeFunction helper is
      gone now, and many of the buggy uses of %_CallFunction are also
      eliminated.
      
      If you ever need to call something with a different receiver, then
      %_Call is your friend now. It does what you want and implements the
      call sequence fully (and correct).
      
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1325573004
      
      Cr-Commit-Position: refs/heads/master@{#30634}
      db2ba190
    • mstarzinger's avatar
      Fix AstPrinter::VisitCallRuntime to not print garbage. · e615c03b
      mstarzinger authored
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1329133002
      
      Cr-Commit-Position: refs/heads/master@{#30633}
      e615c03b
    • karl's avatar
      Cache String.split not found results as well · a5f71027
      karl authored
      Before String.split only cached results if the seperator was found
      
      BUG=v8:4191
      LOG=N
      
      Review URL: https://codereview.chromium.org/1308373005
      
      Cr-Commit-Position: refs/heads/master@{#30632}
      a5f71027
    • karl's avatar
      [es6] Optimize String{Starts, Ends}With · b7db5cd9
      karl authored
      Replace Math{Min,Max}
      Direct string comparison
      
      Compared to https://codereview.chromium.org/1321853006/
      single character
       found at true
      77
      P found at false
      70
      က found at false
      70
      
      BUG=v8:4384
      LOG=N
      
      Review URL: https://codereview.chromium.org/1324353002
      
      Cr-Commit-Position: refs/heads/master@{#30631}
      b7db5cd9
    • mlippautz's avatar
      [heap] Fix MemoryChunk::kHeaderSize computation and add some assertions. · aeb40684
      mlippautz authored
      R=mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/1302423007
      
      Cr-Commit-Position: refs/heads/master@{#30630}
      aeb40684
    • bmeurer's avatar
      [builtins] Unify the various versions of [[Call]] with a Call builtin. · ccbb4ff0
      bmeurer authored
      The new Call and CallFunction builtins supersede the current
      CallFunctionStub (and CallIC magic) and will be the single bottleneck
      for all calling, including the currently special Function.prototype.call
      and Function.prototype.apply builtins, which had handwritten (and
      not fully compliant) versions of CallFunctionStub, and also the
      CallIC(s), which where also slightly different.
      
      This also reduces the overhead for API function calls, which is still
      unnecessary high, but let's do that step-by-step.
      
      This also fixes a bunch of cases where the implicit ToObject for
      sloppy receivers was done in the wrong context (in the caller
      context instead of the callee context), which basically meant
      that we allowed cross context access to %ObjectPrototype%.
      
      MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com.
      
      R=mstarzinger@chromium.org, jarin@chromium.org, mvstanton@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      BUG=v8:4413
      LOG=n
      
      Committed: https://crrev.com/ef268a83be4dead004047c25b702319ea4be7277
      Cr-Commit-Position: refs/heads/master@{#30627}
      
      Review URL: https://codereview.chromium.org/1311013008
      
      Cr-Commit-Position: refs/heads/master@{#30629}
      ccbb4ff0
    • bmeurer's avatar
      Revert of [builtins] Unify the various versions of [[Call]] with a Call... · 298d4a6b
      bmeurer authored
      Revert of [builtins] Unify the various versions of [[Call]] with a Call builtin. (patchset #10 id:260001 of https://codereview.chromium.org/1311013008/ )
      
      Reason for revert:
      Breaks nosnap, needs investigation
      
      Original issue's description:
      > [builtins] Unify the various versions of [[Call]] with a Call builtin.
      >
      > The new Call and CallFunction builtins supersede the current
      > CallFunctionStub (and CallIC magic) and will be the single bottleneck
      > for all calling, including the currently special Function.prototype.call
      > and Function.prototype.apply builtins, which had handwritten (and
      > not fully compliant) versions of CallFunctionStub, and also the
      > CallIC(s), which where also slightly different.
      >
      > This also reduces the overhead for API function calls, which is still
      > unnecessary high, but let's do that step-by-step.
      >
      > This also fixes a bunch of cases where the implicit ToObject for
      > sloppy receivers was done in the wrong context (in the caller
      > context instead of the callee context), which basically meant
      > that we allowed cross context access to %ObjectPrototype%.
      >
      > MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com.
      >
      > R=mstarzinger@chromium.org, jarin@chromium.org, mvstanton@chromium.org
      > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg
      > BUG=v8:4413
      > LOG=n
      >
      > Committed: https://crrev.com/ef268a83be4dead004047c25b702319ea4be7277
      > Cr-Commit-Position: refs/heads/master@{#30627}
      
      TBR=rmcilroy@chromium.org,jarin@chromium.org,mstarzinger@chromium.org,mvstanton@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4413
      
      Review URL: https://codereview.chromium.org/1328963004
      
      Cr-Commit-Position: refs/heads/master@{#30628}
      298d4a6b
    • bmeurer's avatar
      [builtins] Unify the various versions of [[Call]] with a Call builtin. · ef268a83
      bmeurer authored
      The new Call and CallFunction builtins supersede the current
      CallFunctionStub (and CallIC magic) and will be the single bottleneck
      for all calling, including the currently special Function.prototype.call
      and Function.prototype.apply builtins, which had handwritten (and
      not fully compliant) versions of CallFunctionStub, and also the
      CallIC(s), which where also slightly different.
      
      This also reduces the overhead for API function calls, which is still
      unnecessary high, but let's do that step-by-step.
      
      This also fixes a bunch of cases where the implicit ToObject for
      sloppy receivers was done in the wrong context (in the caller
      context instead of the callee context), which basically meant
      that we allowed cross context access to %ObjectPrototype%.
      
      MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com.
      
      R=mstarzinger@chromium.org, jarin@chromium.org, mvstanton@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1311013008
      
      Cr-Commit-Position: refs/heads/master@{#30627}
      ef268a83
    • chunyang.dai's avatar
      X87: initialize the FPU state for X87 in prologue. · 15cf7d61
      chunyang.dai authored
         This CL is a fix for c0c3d866 (r30606).
         In r30606, initialization of FPU implementation is not moved to prologue
         generation correctly.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1317643009
      
      Cr-Commit-Position: refs/heads/master@{#30626}
      15cf7d61
    • v8-autoroll's avatar
      Update V8 DEPS. · 2ba06a0a
      v8-autoroll authored
      Rolling v8/build/gyp to 5d01a8cda53bfa23f1dcbe0c31c33aa30f50cf4c
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1330793002
      
      Cr-Commit-Position: refs/heads/master@{#30625}
      2ba06a0a
  2. 07 Sep, 2015 20 commits
  3. 06 Sep, 2015 1 commit
  4. 05 Sep, 2015 3 commits
  5. 04 Sep, 2015 5 commits
    • bradnelson's avatar
      Follow symlinks in test/mjsunit to allow linked test directories. · 12889b4a
      bradnelson authored
      Wasm mjsunit tests aren't being detected when symlinked into
      test/mjsunit/wasm. This causes symlinked directories in that
      directory to be included.
      
      BUG=None
      TEST=local
      R=dehrenberg@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1332463002
      
      Cr-Commit-Position: refs/heads/master@{#30600}
      12889b4a
    • karl's avatar
      [es6] Use SubString in String{Starts,Ends}With · d42920ce
      karl authored
      Much faster and constant than always searching the whole string
      
      ````
      var allCodePoints = [];
      for (var i = 0; i < 65536; i++) allCodePoints[i] = i;
      var allCharsString = String.fromCharCode.apply(String, allCodePoints);
      
      function bench(search) {
        var counter = 0;
        print(search + " found at " + allCharsString.startsWith(search));
        var start = Date.now();
        while (counter++ < 5000000) {
          allCharsString.startsWith(search);
        }
        var end = Date.now();
        print(end - start);
        return counter;
      }
      
      print("single character");
      bench("\u0000");
      bench("\u0050");
      bench("\u1000");
      ````
      
      OLD
      
      single character
       found at true
      374
      P found at false
      559
      က found at false
      13492
      
      NEW
      
      single character
       found at true
      261
      P found at false
      146
      က found at false
      146
      
      BUG=v8:4384
      LOG=N
      
      Review URL: https://codereview.chromium.org/1321853006
      
      Cr-Commit-Position: refs/heads/master@{#30599}
      d42920ce
    • bradnelson's avatar
      Pulling in a gyp fix for wasm. · 0304b299
      bradnelson authored
      BUG= https://github.com/WebAssembly/v8-native-prototype/issues/10
      TEST=manual check of wasm=on
      R=dehrenberg@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1306753007
      
      Cr-Commit-Position: refs/heads/master@{#30598}
      0304b299
    • karl's avatar
      Reland: Speedup stringsearch for two byte strings · 24d48116
      karl authored
      Uses the lower byte with memchr which is
      significantly faster than a naive compare
      
      Performance difference with bench (http://hastebin.com/xuxexataso.js):
      
      old                             new
      
      single character                single character
      Κ found at 922                  Κ found at 922
      3324                            616
      ㎡ found at 13217               ㎡ found at 13217
      42366                           4931
      က found at 4096                 က found at 4096
      13369                           9836
      ＀ found at 65280                ＀ found at 65280
      207472                          36149
      ᆬ found at 65445                ᆬ found at 65445
      209344                          36666
        found at 8197                   found at 8197
      26731                           11757
      倂 found at 20482               倂 found at 20482
      66071                           17193
      
      linear search                   linear search
      ΚΛ found at 922                 ΚΛ found at 922
      4112                            504
      ㎡㎢ found at 13217             ㎡㎢ found at 13217
      55105                           5119
      ᆬᆭ found at 65445               ᆬᆭ found at 65445
      268016                          35496
      
      linear + bmh search             linear + bmh search
      ΚΛΜΝΞΟΠΡ found at 922           ΚΛΜΝΞΟΠΡ found at 922
      2897                            522
      ᆬᆭᄃᄄᄅᆰᆱᆲ found at 65445         ᆬᆭᄃᄄᄅᆰᆱᆲ found at 65445
      167687                          35283
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1324453007
      
      Cr-Commit-Position: refs/heads/master@{#30597}
      24d48116
    • balazs.kilvady's avatar
      MIPS: Optimize simulator. · 09f41681
      balazs.kilvady authored
      The patch decreases the calls of huge switch instructions making the DecodeType*() functions to work in one phase and optimizing Instruction::InstructionType(). Speed gain in release full check is about 33% (6:13 s -> 4:09 s) and in optdebug full test is about 50% (12:29 -> 6:17)
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1310883005
      
      Cr-Commit-Position: refs/heads/master@{#30596}
      09f41681