1. 26 Sep, 2016 1 commit
    • hablich's avatar
      Revert of [stubs] Port SubStringStub to TurboFan (patchset #8 id:140001 of... · 10a801f1
      hablich authored
      Revert of [stubs] Port SubStringStub to TurboFan (patchset #8 id:140001 of https://codereview.chromium.org/2355793003/ )
      
      Reason for revert:
      Speculative revert because of stability problems
      
      Original issue's description:
      > [stubs] Port SubStringStub to TurboFan
      >
      > This ports the platform-specific SubStringStub to TurboFan.
      >
      > It also contains a minor bug-fix for the case when the requested substring
      > length equals the subject string length, but the start index is not equal to 0.
      > The old stub implementation returned the subject string, while the new
      > implementation calls into runtime, which finally results in a thrown exception.
      >
      > BUG=v8:5415
      >
      > Committed: https://crrev.com/49be31921536716706a6790fbbf9c346b975af16
      > Cr-Commit-Position: refs/heads/master@{#39653}
      
      TBR=ishell@chromium.org,bmeurer@chromium.org,jgruber@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=v8:5415, chromium:649967
      NOPRESUBMIT=true
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2365413002
      Cr-Commit-Position: refs/heads/master@{#39737}
      10a801f1
  2. 23 Sep, 2016 1 commit
    • jgruber's avatar
      [stubs] Port SubStringStub to TurboFan · 49be3192
      jgruber authored
      This ports the platform-specific SubStringStub to TurboFan.
      
      It also contains a minor bug-fix for the case when the requested substring
      length equals the subject string length, but the start index is not equal to 0.
      The old stub implementation returned the subject string, while the new
      implementation calls into runtime, which finally results in a thrown exception.
      
      BUG=v8:5415
      
      Review-Url: https://codereview.chromium.org/2355793003
      Cr-Commit-Position: refs/heads/master@{#39653}
      49be3192
  3. 16 Sep, 2016 1 commit
    • ishell's avatar
      [stubs] Port StoreTransitionStub and ElementsTransitionAndStoreStub to TurboFan. · 130d9893
      ishell authored
      This CL also cleans up related interface descriptors:
      1) unused StoreTransitionDescriptor is removed and VectorStoreTransitionDescriptor is
      renamed to StoreTransitionDescriptor.
      2) on ia32/x87 architectures slot and vector are passed on the stack (dispatcher/handlers
      cleanup will be addressed in a separate CL).
      
      These two stub ports have to be combined in one CL because:
      1) without changing the StoreTransitionDescriptor TF was not able to compile them
      on ia32/x87 (because of lack of registers),
      2) it was not possible to change the descriptor first because Crankshaft was not able
      to deal with the stack allocated parameters in case of a stub failure.
      
      TBR=jkummerow@chromium.org
      BUG=v8:5269
      
      Review-Url: https://codereview.chromium.org/2313093002
      Cr-Commit-Position: refs/heads/master@{#39476}
      130d9893
  4. 14 Sep, 2016 1 commit
  5. 13 Sep, 2016 1 commit
    • mvstanton's avatar
      Record call counts also for megamorphic calls. · 2ab3fcf4
      mvstanton authored
      To make better inlining decisions, it's good to have call counts for poly/mega-morphic cases. This CL makes it work for calls, and another will follow to better unify the code between constructor calls and normal calls (and thence, to record megamorphic call counts there as well).
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2325083003
      Cr-Commit-Position: refs/heads/master@{#39377}
      2ab3fcf4
  6. 09 Sep, 2016 1 commit
  7. 06 Sep, 2016 1 commit
    • mlippautz's avatar
      Move kMaxRegularHeapObjectSize into globals · 059b5643
      mlippautz authored
      This way we avoid the cyclic dependency between objects.h and heap.h and still
      have one definition. Add a static assert that this size is indeed smaller than
      the payload of a page.
      
      Follow ups can finally remove the dependency on spaces.h for all heap.h users.
      
      R=ulan@chromium.org,bmeurer@chromium.org,vogelheim@chromium.og
      
      Review-Url: https://codereview.chromium.org/2311203002
      Cr-Commit-Position: refs/heads/master@{#39206}
      059b5643
  8. 12 Aug, 2016 1 commit
    • jkummerow's avatar
      [regexp][liveedit] Fix inconsistent JSArrays · bb9707c8
      jkummerow authored
      The hand-written KeyedLoadIC_Megamorphic stub didn't care about JSArray
      lengths, which made it lenient towards said lengths being wrong, but it
      will soon fix that bug and thereby become more strict.
      
      LiveEdit: factory->NewJSArray(capacity) doesn't set a length, so set it
      manually.
      RegExp: to avoid having to take care of array length updating in the
      RegExpExecStub, just use a JSObject instead.
      
      Review-Url: https://codereview.chromium.org/2244673002
      Cr-Commit-Position: refs/heads/master@{#38624}
      bb9707c8
  9. 03 Aug, 2016 1 commit
  10. 02 Aug, 2016 1 commit
  11. 28 Jul, 2016 1 commit
  12. 14 Jul, 2016 2 commits
  13. 13 Jul, 2016 1 commit
  14. 30 Jun, 2016 1 commit
    • jgruber's avatar
      [builtins] New frame type for exits to C++ builtins · 5febc27b
      jgruber authored
      Prior to this commit, calls to C++ builtins created standard exit
      frames, which are skipped when constructing JS stack traces. In order to
      show these calls on traces, we introduce a new builtin exit frame type.
      
      Builtin exit frames contain target and new.target on the stack and are
      not skipped during stack trace construction.
      
      BUG=v8:4815
      R=bmeurer@chromium.org, yangguo@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel;tryserver.v8:v8_linux_nosnap_dbg
      
      Committed: https://crrev.com/3c60c6b105f39344f93a8407f41534e5e60cf19a
      Review-Url: https://codereview.chromium.org/2090723005
      Cr-Original-Commit-Position: refs/heads/master@{#37384}
      Cr-Commit-Position: refs/heads/master@{#37416}
      5febc27b
  15. 29 Jun, 2016 2 commits
  16. 28 Jun, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Introduce Float64Pow and NumberPow operators. · e607e12e
      bmeurer authored
      Introduce a new machine operator Float64Pow that for now is backed by
      the existing MathPowStub to start the unification of Math.pow, and at
      the same time address the main performance issue that TurboFan still has
      with the imaging-darkroom benchmark in Kraken.
      
      Also migrate the Math.pow builtin itself to a TurboFan builtin and
      remove a few hundred lines of hand-written platform code for special
      handling of the fullcodegen Math.pow version.
      
      BUG=v8:3599,v8:5086,v8:5157
      
      Review-Url: https://codereview.chromium.org/2103733003
      Cr-Commit-Position: refs/heads/master@{#37323}
      e607e12e
  17. 16 Jun, 2016 1 commit
    • ishell's avatar
      [ic] LoadICState cleanup. · 5fcd3eb8
      ishell authored
      LoadICState was used to hold the TypeofMode flag which is relevant only for LoadGlobalIC.
      This CL removes usage of this state from LoadIC and KeyedLoadIC and renames the state
      class to LoadGlobalICState.
      
      BUG=chromium:576312
      LOG=Y
      
      Review-Url: https://codereview.chromium.org/2065373003
      Cr-Commit-Position: refs/heads/master@{#37033}
      5fcd3eb8
  18. 15 Jun, 2016 1 commit
  19. 13 Jun, 2016 1 commit
    • mstarzinger's avatar
      Fix arguments object stubs for large arrays. · e95cfafb
      mstarzinger authored
      This fixes FastNewStrictArgumentsStub and FastNewRestParameterStub to no
      longer assume that the strict arguments object being allocated will fit
      into new-space. The case where said object needs to move to large object
      space is now handled in the runtime.
      
      R=bmeurer@chromium.org
      TEST=mjsunit/regress/regress-crbug-614727
      BUG=chromium:614727
      
      Review-Url: https://codereview.chromium.org/2054853002
      Cr-Commit-Position: refs/heads/master@{#36917}
      e95cfafb
  20. 10 Jun, 2016 1 commit
  21. 09 Jun, 2016 2 commits
  22. 08 Jun, 2016 1 commit
  23. 06 Jun, 2016 3 commits
  24. 01 Jun, 2016 3 commits
  25. 30 May, 2016 1 commit
  26. 27 May, 2016 1 commit
    • bmeurer's avatar
      [runtime] Kill the %NumberToIntegerMapMinusZero runtime entry. · 4b235ade
      bmeurer authored
      This was initially used to special case some weird date.js behavior, but
      has since been abused in other areas. In case of the string character
      access, everything that is outside the Smi range cannot be a valid
      string index anyways, so %NumberToSmi is perfect here in either case,
      and for ToPositiveInteger it's better to just use ToInteger adding +0 to
      turn -0 into +0.
      
      R=ishell@chromium.org
      BUG=v8:5049
      
      Review-Url: https://codereview.chromium.org/2010183003
      Cr-Commit-Position: refs/heads/master@{#36545}
      4b235ade
  27. 24 May, 2016 2 commits
  28. 17 May, 2016 1 commit
    • bmeurer's avatar
      [es6] Reintroduce the instanceof operator in the backends. · 551e0aa1
      bmeurer authored
      This adds back the instanceof operator support in the backends and
      introduces a @@hasInstance protector cell on the isolate that guards the
      fast path for the InstanceOfStub. This way we recover the ~10%
      regression on Octane EarleyBoyer in Crankshaft and greatly improve
      TurboFan and Ignition performance of instanceof.
      
      R=ishell@chromium.org
      TBR=hpayer@chromium.org,rossberg@chromium.org
      BUG=chromium:597249, v8:4447
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1980483003
      Cr-Commit-Position: refs/heads/master@{#36275}
      551e0aa1
  29. 11 May, 2016 1 commit
    • rmcilroy's avatar
      [Interpreter] Fix incorrect frame walking in arguments create stubs · 40f34541
      rmcilroy authored
      The previous approach taken by FastNew[Sloppy,Strict,Rest]ArgumentsStub
      looked at the function slot in order to skip stub frames
      and find the JS frame. However, stub frames do not have a
      function slot (in fact their fixed frame ends one slot
      before the JS frame's function slot). Therefore, if this
      location in the stub frame happens to have the function
      object the create arguments stubs won't skip this frame
      correctly.
      
      Replace this approach with one where the stub is
      specialized to either skip a frame if required (since
      there will only ever be one extra frame on Ignition
      the loop approach isn't necessary).
      
      BUG=v8:4928
      LOG=N
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg
      
      Review-Url: https://codereview.chromium.org/1949023003
      Cr-Commit-Position: refs/heads/master@{#36181}
      40f34541
  30. 03 May, 2016 2 commits
  31. 27 Apr, 2016 1 commit