1. 13 Jun, 2016 3 commits
  2. 09 Jun, 2016 2 commits
  3. 06 Jun, 2016 1 commit
  4. 27 May, 2016 3 commits
    • 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
    • franzih's avatar
      [builtins] Rewrite uri.js as builtin functions. · 8c31bd81
      franzih authored
      Rewrite decodeURI and decodeURIComponent as builtin functions
      and install them in the bootstrapper.
      
      Delete unused runtime functions:
       - TruncateString
       - NewString
       - OneByteSeqStringGetChar
       - OneByteSeqStringSetChar
       - TwoByteSeqStringGetChar
       - TwoByteSeqStringSetChar
      
      Add regression test for decoding large strings. Clusterfuzz detected
      a problem with %TruncateString, see
      https://bugs.chromium.org/p/chromium/issues/detail?id=612109#c6
      This is automatically fixed by this rewrite because %TruncateString
      is deleted anyways.
      
      Crude benchmark on 585 decodeURI and decodeURIComponent tests
      averaged over five runs:
      
      * builtin functions
      real	0m9.69s
      user	2m39.8816s
      sys    	0m12.6398s
      
      * JS functions calling into the runtime e.g., for %TruncateString
      real	0m11.0598s
      user	3m6.7026s
      sys	0m13.5756s
      
      By running:
      $  time tools/run-tests.py   --arch=x64  --mode=Release --buildbot
        test262/built-ins/decodeURI* mjsunit/uri
      >>> Running tests for x64.Release
      
      BUG=v8:4912, chromium:612109
      R=yangguo@chromium.org, bmeurer@chromium.org
      
      Review-Url: https://codereview.chromium.org/1994733003
      Cr-Commit-Position: refs/heads/master@{#36543}
      8c31bd81
    • bmeurer's avatar
      [runtime] Remove the obsolete %_StringCharAt intrinsic. · b2fd2ded
      bmeurer authored
      This intrinsic (and the matching runtime entry) are no longer used by
      now and can thereby be removed.
      
      BUG=v8:5049
      
      Review-Url: https://codereview.chromium.org/2016993003
      Cr-Commit-Position: refs/heads/master@{#36540}
      b2fd2ded
  5. 18 May, 2016 1 commit
  6. 17 May, 2016 4 commits
  7. 10 May, 2016 2 commits
  8. 09 May, 2016 2 commits
  9. 03 May, 2016 2 commits
  10. 26 Apr, 2016 1 commit
  11. 25 Apr, 2016 1 commit
  12. 22 Apr, 2016 1 commit
  13. 19 Apr, 2016 1 commit
    • adamk's avatar
      Remove all non-function-name uses of CONST_LEGACY · 59546149
      adamk authored
      Now that all 'const' declarations are of the ES2015 variety, the only
      use of CONST_LEGACY is for function name bindings in sloppy mode
      named function expressions.
      
      This patch aims to delete all code meant to handle other cases, which
      mostly had to do with hole initialization/hole checks. Since function
      name bindings are initialized at entry to a function, it's impossible
      to ever observe one in an uninitialized state.
      
      To simplify the patch further, it removes the `IMPORT` VariableMode,
      as it's not likely to be needed (IMPORT is identical to CONST for
      the purpose of VariableMode).
      
      Review URL: https://codereview.chromium.org/1895973002
      
      Cr-Commit-Position: refs/heads/master@{#35632}
      59546149
  14. 18 Apr, 2016 2 commits
  15. 15 Apr, 2016 1 commit
  16. 14 Apr, 2016 3 commits
  17. 11 Apr, 2016 1 commit
  18. 08 Apr, 2016 1 commit
  19. 07 Apr, 2016 1 commit
  20. 06 Apr, 2016 1 commit
    • bmeurer's avatar
      [generators] Decouple generator resume from fullcodegen. · 974721c6
      bmeurer authored
      Introduce a ResumeGeneratorTrampoline, which does the actual stack state
      reconstruction (currently always restores a fullcodegen frame), and
      introduce appropriate TurboFan builtins for %GeneratorPrototype%.next,
      %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on
      this native builtin.
      
      Also unify the flooding in case of step-in to always work based on
      JSFunction and remove the special casing for JSGeneratorObject.
      
      R=mstarzinger@chromium.org, neis@chromium.org
      TBR=rossberg@chromium.org
      BUG=chromium:513471
      LOG=n
      
      Review URL: https://codereview.chromium.org/1865833002
      
      Cr-Commit-Position: refs/heads/master@{#35283}
      974721c6
  21. 05 Apr, 2016 2 commits
  22. 04 Apr, 2016 1 commit
  23. 01 Apr, 2016 1 commit
  24. 31 Mar, 2016 1 commit
    • bmeurer's avatar
      [full-codegen] Reload context register after intrinsic call. · 833618d9
      bmeurer authored
      Previously all code stubs (i.e. both platform and Crankshaft code stubs)
      preserved the context register for full-codegen (neither Ignition, nor
      TurboFan nor Crankshaft require this or would benefit from this), but
      the newly introduced TurboFanCodeStubs no longer do this and there's no
      need to, so we have to make sure in full-codegen that we restore the
      context register after intrinsic calls, which potentially call
      TurboFanCodeStubs.
      
      Drive-by-fix: VisitThisFunction can be made platform independent.
      
      R=verwaest@chromium.org
      
      Review URL: https://codereview.chromium.org/1848553002
      
      Cr-Commit-Position: refs/heads/master@{#35154}
      833618d9
  25. 22 Mar, 2016 1 commit
    • adamk's avatar
      Remove support for legacy const, part 1 · ed18aa65
      adamk authored
      Now that ES2015 const has shipped, in Chrome 49, legacy const declarations
      are no more. This lets us remove a bunch of code from many parts of the
      codebase.
      
      In this patch, I remove parser support for generating legacy const variables
      from const declarations. This also removes the special "illegal declaration"
      bit from Scope, which has ripples into all compiler backends.
      
      Also gone are any tests which relied on legacy const declarations.
      
      Note that we do still generate a Variable in mode CONST_LEGACY in one case:
      function name bindings in sloppy mode. The likely fix there is to add a new
      Variable::Kind for this case and handle it appropriately for stores in each
      backend, but I leave that for a later patch to make this one completely
      subtractive.
      
      Review URL: https://codereview.chromium.org/1819123002
      
      Cr-Commit-Position: refs/heads/master@{#35002}
      ed18aa65