1. 06 Jun, 2016 1 commit
    • machenbach's avatar
      [gn] Port test262 archiving to gn · 0d65554c
      machenbach authored
      This calls the action that archives test262 in gn. In gn
      we can't specify an action output outside the product
      directory. This works around it with an extra action
      stamp file in the product directory, while the archive
      remains in the test directory.
      
      We don't want to generate the archive in the product
      directory, as some legacy archiving scripts might include
      it and it's too large. It should only be included in the
      swarming tasks that are going to use it for testing.
      
      BUG=chromium:474921
      
      Review-Url: https://codereview.chromium.org/2034713005
      Cr-Commit-Position: refs/heads/master@{#36731}
      0d65554c
  2. 30 May, 2016 1 commit
  3. 27 May, 2016 2 commits
  4. 25 May, 2016 2 commits
    • gsathya's avatar
      TypedArray: Make byteOffset, byteLength, and length configurable · 91e2039d
      gsathya authored
      Removes the DONT_DELETE enum bit from the properties to make them
      configurable.
      
      Also, updates the regress-typedarray-length test to --
      - Check for true boolean return value on deletion of these
        properties.
      - Check for undefined return value on trying to access these
        properties after deletion.
      
      BUG=v8:4902
      LOG=Y
      
      Review-Url: https://codereview.chromium.org/2001393004
      Cr-Commit-Position: refs/heads/master@{#36528}
      91e2039d
    • adamk's avatar
      Make %ThrowTypeError% function(s) strict · d84dbc71
      adamk authored
      Bootstrapper previously created %ThrowTypeError% before the strict
      function maps existed, so making that function strict required a small
      amount of code reordering.
      
      This fixes a few test262 tests, but we're still non-compliant due to the
      fact that we have two functions instead of one (see issue 4034).
      
      BUG=v8:4925
      LOG=y
      
      Review-Url: https://codereview.chromium.org/2006733004
      Cr-Commit-Position: refs/heads/master@{#36526}
      d84dbc71
  5. 24 May, 2016 1 commit
  6. 19 May, 2016 1 commit
    • jshin's avatar
      Move case conversion with ICU to 'staged'. · 67d393a3
      jshin authored
      Move it to HARMONY_STAGED from HARMONY_INPROGRESS.
      
      Update test262.status now that case mapping tests are passing with
      '--harmony' specified.
      
      BUG=v8:4476,v8:4477
      LOG=Y
      TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*,
           mjsunit/string-case, intl/general/case*
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_noi18n_rel_ng
      
      Review-Url: https://codereview.chromium.org/1990083002
      Cr-Commit-Position: refs/heads/master@{#36379}
      67d393a3
  7. 11 May, 2016 1 commit
    • jshin's avatar
      Use ICU case conversion/transliterator for case conversion · b348d47b
      jshin authored
      When I18N is enabled, use ICU's case conversion API and transliteration
      API [1] to implement String.prototype.to{Upper,Lower}Case and
      String.prototype.toLocale{Upper,Lower}Case.
      
      * ICU-based case conversion was implemented in runtime-i18n.cc/i18n.js
      * The above 4 functions are overridden with those in i18n.js when
        --icu_case_mapping flag is turned on. To control the override by the flag,
        they're overriden in icu-case-mapping.js
      
      Previously, toLocale{U,L}Case just called to{U,L}Case so that they didn't
      support locale-sensitive case conversion for Turkic languages (az, tr),
      Greek (el) and Lithuanian (lt).
      
      Before ICU APIs for the most general case are called, a fast-path for Latin-1
      is tried. It's taken from Blink and adopted as necessary. This fast path
      is always tried for to{U,L}Case. For toLocale{U,L}Case, it's only taken
      when a locale (explicitly specified or default) is not in {az, el, lt, tr}.
      
      With these changes, a build with --icu_case_mapping=true passes a bunch
      of tests in test262/intl402/Strings/* and intl/* that failed before.
      
      Handling of pure ASCII strings (aligned at word boundary) are not as fast
      as Unibrow's implementation that uses word-by-word case conversion. OTOH,
      Latin-1 input handling is faster than Unibrow. General Unicode input
      handling is slower but more accurate.
      
      See https://docs.google.com/spreadsheets/d/1KJCJxKc1FxFXjwmYqABS0_2cNdPetvnd8gY8_HGSbrg/edit?usp=sharing for the benchmark.
      
      This CL started with http://crrev.com/1544023002#ps200001 by littledan@,
      but has changed significantly since.
      
      [1] See why transliteration API is needed for uppercasing in Greek.
          http://bugs.icu-project.org/trac/ticket/10582
      
      R=yangguo
      BUG=v8:4476,v8:4477
      LOG=Y
      TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case,
           intl/general/case*
      
      Review-Url: https://codereview.chromium.org/1812673005
      Cr-Commit-Position: refs/heads/master@{#36187}
      b348d47b
  8. 03 May, 2016 1 commit
  9. 02 May, 2016 3 commits
  10. 29 Apr, 2016 1 commit
  11. 20 Apr, 2016 2 commits
  12. 19 Apr, 2016 1 commit
  13. 04 Apr, 2016 1 commit
  14. 01 Apr, 2016 1 commit
    • littledan's avatar
      Revert of Remove RegExp.prototype.source getter compat workaround (patchset #2... · 31e806eb
      littledan authored
      Revert of Remove RegExp.prototype.source getter compat workaround (patchset #2 id:20001 of https://codereview.chromium.org/1837843002/ )
      
      Reason for revert:
      TC39 decided that this compatibility fix should be standardized.
      
      Original issue's description:
      > Remove RegExp.prototype.source getter compat workaround
      >
      > The getter RegExp.prototype.source is specified in ES2015 to throw when
      > called on a non-RegExp instance, such as RegExp.prototype. We had previously
      > put in a compatibility workaround for all RegExp getters to make them
      > throw on access specifically with RegExp.prototype as the receiver; however,
      > we only have evidence that this is needed for properties other than source.
      > This patch removes the compatibility workaround for get RegExp.prototype.source
      > and gives it semantics precisely as per the ES2015 specification.
      >
      > R=adamk
      > BUG=chromium:581577,v8:4827
      > LOG=Y
      >
      > Committed: https://crrev.com/80803aa89e31839b8f73959776fa7e1923c6b461
      > Cr-Commit-Position: refs/heads/master@{#35086}
      
      R=adamk@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=chromium:581577,v8:4827
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1847783003
      
      Cr-Commit-Position: refs/heads/master@{#35180}
      31e806eb
  15. 29 Mar, 2016 3 commits
  16. 28 Mar, 2016 1 commit
    • littledan's avatar
      Remove RegExp.prototype.source getter compat workaround · 80803aa8
      littledan authored
      The getter RegExp.prototype.source is specified in ES2015 to throw when
      called on a non-RegExp instance, such as RegExp.prototype. We had previously
      put in a compatibility workaround for all RegExp getters to make them
      throw on access specifically with RegExp.prototype as the receiver; however,
      we only have evidence that this is needed for properties other than source.
      This patch removes the compatibility workaround for get RegExp.prototype.source
      and gives it semantics precisely as per the ES2015 specification.
      
      R=adamk
      BUG=chromium:581577,v8:4827
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1837843002
      
      Cr-Commit-Position: refs/heads/master@{#35086}
      80803aa8
  17. 22 Mar, 2016 2 commits
  18. 16 Mar, 2016 1 commit
  19. 15 Mar, 2016 1 commit
    • littledan's avatar
      Put RegExp js code in strict mode · 80b1b2a4
      littledan authored
      src/js/regexp.js was one of the few files that was left in sloppy
      mode. The ES2017 draft specification requires that writes to
      lastIndex throw when the property is non-writable, and test262
      tests enforce this behavior. This patch puts that file in strict
      mode.
      
      BUG=v8:4504
      R=yangguo@chromium.org
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1776883005
      
      Cr-Commit-Position: refs/heads/master@{#34801}
      80b1b2a4
  20. 14 Mar, 2016 1 commit
    • littledan's avatar
      Make test262 test runner check for which exception is thrown · f3568ca4
      littledan authored
      test262 "negative" test expectations list which exception is thrown. The ES2017
      draft specification is very specific about which exception class is thrown
      from which path, and V8 works hard to be correct with respect to that spec.
      
      Previously, the test262 test runner would accept any nonzero status code,
      such as from a crash, or a FAIL printed out, for a negative test. This
      patch makes negative tests check for the right answer using a quick-and-dirty
      parsing of the exception printing from d8 to find the exception class.
      It invokes d8 in a way to get a status code of 0 from thrown exceptions
      so that 'negative' tests aren't actually implemented by negating the output.
      
      Amazingly, this didn't catch any test262 failures, but I verified the extra
      checking interactively by changing a negative test to expect a different type
      and saw it fail.
      
      BUG=v8:4803
      R=machenbach
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1766503002
      
      Cr-Commit-Position: refs/heads/master@{#34763}
      f3568ca4
  21. 11 Mar, 2016 1 commit
  22. 10 Mar, 2016 8 commits
  23. 09 Mar, 2016 1 commit
  24. 07 Mar, 2016 1 commit
    • littledan's avatar
      Base the right RegExp brand checks on Symbol.match · e99d2929
      littledan authored
      The ES2015 specification requires that String.prototype.startsWith,
      String.prototype.endsWith and String.prototype.includes use the IsRegExp
      internal algorithm to determine whether to throw a TypeError to prevent
      a RegExp from being accidentally cast to a String for those methods.
      That internal algorithm checks the presence/truthiness of Symbol.match
      to make its determination. This patch switches the builtins to use
      this correct test, rather than checking for the [[RegExpMatcher]]
      internal slot as the builtins previously did.
      
      R=yangguo
      
      Review URL: https://codereview.chromium.org/1762183002
      
      Cr-Commit-Position: refs/heads/master@{#34547}
      e99d2929
  25. 02 Mar, 2016 1 commit
    • littledan's avatar
      Implement TypedArray(typedarray) constructor · 2fa1c884
      littledan authored
      The ES2016 draft spec defines a sort of fast path for constructing
      a TypedArray based on another TypedArray. This patch implements that
      alternative path in TypedArray construction. It is verified by
      test262 tests, which now pass. This patch also has a slight cleanup
      of TypedArray code by using a macro for TypedArray type checks, as
      is done for other types.
      
      This patch includes a minor spec violation: In the same-type case, the
      spec indicates that the underlying ArrayBuffer should be copied until
      the end, and this is fixed up by making the [[ArrayLength]] shorter.
      This is observable with the buffer getter. This patch just copies the
      used part of the underlying ArrayBuffer.
      
      R=adamk
      BUG=v8:4726
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1754593003
      
      Cr-Commit-Position: refs/heads/master@{#34443}
      2fa1c884