1. 20 Jun, 2016 1 commit
  2. 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
  3. 15 Jun, 2016 1 commit
  4. 14 Jun, 2016 1 commit
    • jyan's avatar
      S390: Fix arguments object stubs for large arrays. · 03bf4dc0
      jyan authored
      Port e95cfafb
      
      Original commit message:
      
          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=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com
      BUG=
      
      Review-Url: https://codereview.chromium.org/2064023002
      Cr-Commit-Position: refs/heads/master@{#36945}
      03bf4dc0
  5. 10 Jun, 2016 1 commit
  6. 09 Jun, 2016 2 commits
  7. 08 Jun, 2016 1 commit
  8. 06 Jun, 2016 1 commit
  9. 31 May, 2016 1 commit
  10. 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
  11. 25 May, 2016 1 commit
  12. 24 May, 2016 1 commit
  13. 17 May, 2016 1 commit
    • jyan's avatar
      PPC/S390: [es6] Reintroduce the instanceof operator in the backends. · e9aad72f
      jyan authored
      port 551e0aa1
      
      Original Commit Messag:
        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=bmeurer@chromium.org, ishell@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      TBR=hpayer@chromium.org,rossberg@chromium.org
      BUG=chromium:597249, v8:4447
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1989523002
      Cr-Commit-Position: refs/heads/master@{#36290}
      e9aad72f
  14. 13 May, 2016 1 commit
    • jyan's avatar
      S390: [Interpreter] Fix incorrect frame walking in arguments create stubs · e7a23425
      jyan authored
      Port 40f34541
      
      Original commit message:
      
          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).
      
      R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      BUG=
      
      Review-Url: https://codereview.chromium.org/1978823002
      Cr-Commit-Position: refs/heads/master@{#36252}
      e7a23425
  15. 04 May, 2016 2 commits
  16. 02 May, 2016 1 commit
  17. 28 Apr, 2016 2 commits
  18. 27 Apr, 2016 1 commit
  19. 21 Apr, 2016 1 commit
  20. 20 Apr, 2016 1 commit
  21. 18 Apr, 2016 1 commit
  22. 16 Apr, 2016 2 commits
  23. 15 Apr, 2016 1 commit
    • jyan's avatar
      S390: [Atomics] code stubs for atomic operations · 146400ae
      jyan authored
      Port 5e9ddf6c
      
      Original commit message:
          * New atomic code stubs for x64, ia32, arm, arm64
          * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue
            to macro-assembler-ia32 (API based on x64 macro assembler)
          * Remove runtime implementation of Atomics.load, the code stub should always be
            called instead
          * Add new test to mjsunit atomics test; check that Smi values of different
            sizes are supported when possible, else fall back to HeapNumbers
      
          These changes were needed to add another codestub:
          * Bump kStubMajorKeyBits from 7 to 8
          * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12
      
      R=binji@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com
      BUG=v8:4614
      LOG=N
      
      Review URL: https://codereview.chromium.org/1882733008
      
      Cr-Commit-Position: refs/heads/master@{#35537}
      146400ae
  24. 06 Apr, 2016 2 commits
    • jyan's avatar
      S390: Fix incorrect V8_HOST_ARCH_S390X to V8_TARGET_ARCH_S390X · b6d44663
      jyan authored
      V8_HOST_ARCH_S390X doesn't exist but is incorrectly used. Therefore, preserved floating point registers are not being correctly saved/restored in JSEntryStub.
      
      R=joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1865893002
      
      Cr-Commit-Position: refs/heads/master@{#35311}
      b6d44663
    • verwaest's avatar
      Use a dictionary-mode code cache on the map rather than a dual system. · d2eb555e
      verwaest authored
      The previous code cache system required stubs to be marked with a StubType, causing them to be inserted either into a fixed array or into a dictionary-mode code cache. This could cause names to be in both cases, and lookup would just find the "fast" one first. Given that we clear out the caches on each GC, the memory overhead shouldn't be too bad. Additionally, the dictionary itself should just stay linear for small arrays; that's faster anyway.
      
      This CL additionally deletes some dead IC code.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1846963002
      
      Cr-Commit-Position: refs/heads/master@{#35291}
      d2eb555e
  25. 30 Mar, 2016 1 commit
  26. 28 Mar, 2016 1 commit
    • jyan's avatar
      S390: Fix Register conflict in CEntryStub · d65c8cbf
      jyan authored
      when needs_return_buffer == true and result_size() > 2, the 3rd return value
      is placed in r4 register. But when debug code is emited, it uses r4 register
      for checking exceptions, which corrupts the 3rd return value.
      
      R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1839663002
      
      Cr-Commit-Position: refs/heads/master@{#35084}
      d65c8cbf
  27. 23 Mar, 2016 2 commits
  28. 22 Mar, 2016 2 commits
  29. 17 Mar, 2016 1 commit
  30. 15 Mar, 2016 1 commit
  31. 10 Mar, 2016 1 commit
  32. 09 Mar, 2016 2 commits
    • vogelheim's avatar
      Rework CallApi*Stubs. · 5096492f
      vogelheim authored
      - Eliminate stubs with a variable number of arguments.
        (That only worked due to their very limited use. These
         stubs' interface descriptors were basically lying
         about their number of args, which will fail when used
         generically.)
      - Fix all CallApi*Stubs' interface descriptors to no
        longer lie about their arguments.
      - Unify CallApi*Stub, for * in Function, Accessor,
        FunctionWithFixedArgs.
        (Since these are now all doing the same thing.)
      - Rename the unified stub (and interface descriptors) to
        *ApiCallback*, since that's really what they're doing.
      - Refuse inlining an API callback if its number of
        parameters exceeds the supported number of args.
      
      BUG=
      
      Committed: https://crrev.com/d238b953a474272c0e3ea22ef6a9b63fa9729340
      Cr-Commit-Position: refs/heads/master@{#34614}
      
      Review URL: https://codereview.chromium.org/1748123003
      
      Cr-Commit-Position: refs/heads/master@{#34627}
      5096492f
    • vogelheim's avatar
      Revert of Rework CallApi*Stubs. (patchset #5 id:100001 of... · 52a741d1
      vogelheim authored
      Revert of Rework CallApi*Stubs. (patchset #5 id:100001 of https://codereview.chromium.org/1748123003/ )
      
      Reason for revert:
      Breaks Chromium.
      
      Original issue's description:
      > Rework CallApi*Stubs.
      >
      > - Eliminate stubs with a variable number of arguments.
      >   (That only worked due to their very limited use. These
      >    stubs' interface descriptors were basically lying
      >    about their number of args, which will fail when used
      >    generically.)
      > - Fix all CallApi*Stubs' interface descriptors to no
      >   longer lie about their arguments.
      > - Unify CallApi*Stub, for * in Function, Accessor,
      >   FunctionWithFixedArgs.
      >   (Since these are now all doing the same thing.)
      > - Rename the unified stub (and interface descriptors) to
      >   *ApiCallback*, since that's really what they're doing.
      > - Refuse inlining an API callback if its number of
      >   parameters exceeds the supported number of args.
      >
      > BUG=
      >
      > Committed: https://crrev.com/d238b953a474272c0e3ea22ef6a9b63fa9729340
      > Cr-Commit-Position: refs/heads/master@{#34614}
      
      TBR=danno@chromium.org,jkummerow@chromium.org,mstarzinger@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=
      
      Review URL: https://codereview.chromium.org/1775933005
      
      Cr-Commit-Position: refs/heads/master@{#34624}
      52a741d1