1. 31 Oct, 2016 1 commit
  2. 27 Oct, 2016 1 commit
    • ishell's avatar
      [ic] Remove unnecessary access rights checks from the IC handlers. · 8ba4af44
      ishell authored
      The reasons are:
      1) Type feedback vectors are not shared between different native contexts and
         therefore the IC handler created for one native context will not be reused
         in other native context.
      2) Access rights revocation is not supported at all, therefore given (1) once
         we pass the access check we don't have to check access rights again.
      
      BUG=v8:5561
      
      Review-Url: https://codereview.chromium.org/2455953002
      Cr-Commit-Position: refs/heads/master@{#40627}
      8ba4af44
  3. 26 Oct, 2016 1 commit
    • bbudge's avatar
      [Turbofan] Add concept of FP register aliasing on ARM 32. · 09ab8e6a
      bbudge authored
      - Modifies RegisterConfiguration to specify complex aliasing on ARM 32.
      - Modifies RegisterAllocator to consider aliasing.
      - Modifies ParallelMove::PrepareInsertAfter to handle aliasing.
      - Modifies GapResolver to split wider register moves when interference
      with smaller moves is detected.
      - Modifies MoveOptimizer to handle aliasing.
      - Adds ARM 32 macro-assembler pseudo move instructions to handle cases where
        split moves don't correspond to actual s-registers.
      - Modifies CodeGenerator::AssembleMove and AssembleSwap to handle moves of
        different widths, and moves involving pseudo-s-registers.
      - Adds unit tests for FP operand interference checking and PrepareInsertAfter.
      - Adds more tests of FP for the move optimizer and register allocator.
      
      LOG=N
      BUG=v8:4124
      
      Review-Url: https://codereview.chromium.org/2410673002
      Cr-Commit-Position: refs/heads/master@{#40597}
      09ab8e6a
  4. 25 Oct, 2016 1 commit
    • jgruber's avatar
      [regexp] Remove unused code · 77ddcfb3
      jgruber authored
      This CL removes code that is now unused since the port of regexp.js has been
      completed. Removed functions / classes are:
      
      * regexp.js (GetSubstitution moved to string.js)
      * RegExpConstructResult stub
      * RegExpFlags intrinsic
      * RegExpSource intrinsic
      * RegExpInitializeAndCompile runtime function
      
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2448463002
      Cr-Commit-Position: refs/heads/master@{#40547}
      77ddcfb3
  5. 20 Oct, 2016 1 commit
  6. 18 Oct, 2016 1 commit
  7. 17 Oct, 2016 1 commit
  8. 14 Oct, 2016 1 commit
    • jgruber's avatar
      [regexp] Turn last match info into a simple FixedArray · f60a7c4f
      jgruber authored
      Now that all accesses to the last match info are in C++ and TF code, we can
      finally turn the last match info into a FixedArray. Similar to the ArrayList,
      it uses its first field to store its length and grows dynamically in amortized
      O(1) time.
      
      Unlike previously, this means that the last match info pointer stored on the
      context can actually change (in case the FixedArray needs to grow).
      
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2415103002
      Cr-Commit-Position: refs/heads/master@{#40308}
      f60a7c4f
  9. 12 Oct, 2016 4 commits
  10. 11 Oct, 2016 1 commit
  11. 07 Oct, 2016 3 commits
  12. 30 Sep, 2016 1 commit
  13. 29 Sep, 2016 3 commits
  14. 28 Sep, 2016 1 commit
  15. 26 Sep, 2016 2 commits
  16. 23 Sep, 2016 3 commits
    • jacob.bramley's avatar
      [arm] Clean up use of IsSupported and IsEnabled. · 73518a90
      jacob.bramley authored
      CpuFeatures::IsSupported(feature) indicates that the feature is
      available on the target. AssemblerBase::IsEnabled(feature) indicates
      that we've checked for support (using CpuFeatureScope). The main benefit
      is that we can test on (for example) ARMv8, but have some assurance that
      we won't generate ARMv8 instructions on ARMv7 targets.
      
      This patch simply cleans up the usage, which had become inconsistent.
      The instruction emission functions now check not only that their
      dependent features are supported, but also that we've verified that
      using CpuFeatureScope.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2360243002
      Cr-Commit-Position: refs/heads/master@{#39676}
      73518a90
    • ishell's avatar
      [ic][ia32][x87] Don't push/pop value/slot/vector in store handlers. · 49695346
      ishell authored
      According to new store IC calling convention the value, slot and vector are passed
      on the stack and there's no need in trying to preserve values or respective registers
      in store handlers.
      
      Nice bonus: we also don't need virtual registers anymore.
      
      BUG=v8:5407
      
      Review-Url: https://codereview.chromium.org/2357323003
      Cr-Commit-Position: refs/heads/master@{#39672}
      49695346
    • 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
  17. 21 Sep, 2016 1 commit
  18. 20 Sep, 2016 1 commit
  19. 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
  20. 14 Sep, 2016 1 commit
  21. 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
  22. 09 Sep, 2016 1 commit
  23. 08 Sep, 2016 2 commits
  24. 06 Sep, 2016 6 commits