- 06 Jun, 2016 1 commit
-
-
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}
-
- 30 May, 2016 1 commit
-
-
neis authored
R=rossberg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2026543002 Cr-Commit-Position: refs/heads/master@{#36588}
-
- 27 May, 2016 2 commits
-
-
adamk authored
The busted logic caused us to go down the SCRIPT path internally, causing us to fail the test262 tests that attempt to induce parse errors at the top level. R=littledan@chromium.org BUG=v8:4985 Review-Url: https://codereview.chromium.org/2008743002 Cr-Commit-Position: refs/heads/master@{#36563}
-
adamk authored
R=littledan@chromium.org BUG=v8:4628 Review-Url: https://codereview.chromium.org/2017753002 Cr-Commit-Position: refs/heads/master@{#36559}
-
- 25 May, 2016 2 commits
-
-
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}
-
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}
-
- 24 May, 2016 1 commit
-
-
adamk authored
R=littledan@chromium.org Review-Url: https://codereview.chromium.org/2007703003 Cr-Commit-Position: refs/heads/master@{#36487}
-
- 19 May, 2016 1 commit
-
-
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}
-
- 11 May, 2016 1 commit
-
-
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}
-
- 03 May, 2016 1 commit
-
-
Adam Klein authored
BUG=v8:4985 LOG=n TBR=littledan@chromium.org Review URL: https://codereview.chromium.org/1939423002 . Cr-Commit-Position: refs/heads/master@{#35956}
-
- 02 May, 2016 3 commits
-
-
littledan authored
R=adamk Review-Url: https://codereview.chromium.org/1931653003 Cr-Commit-Position: refs/heads/master@{#35955}
-
littledan authored
The ECMA 402 implementation previously pushed directly to real Arrays, which risks having observably incorrect behavior in the presence of monkey patching. This patch uses InternalArrays instead to avoid that hazard. R=jshin@chromium.org,yangguo@chromium.org BUG=chromium:604299 LOG=N Review-Url: https://codereview.chromium.org/1923803002 Cr-Commit-Position: refs/heads/master@{#35949}
-
adamk authored
Our implementation of the spec got one comparison wrong, at step 19.d.iii (we were comparing against 'q' instead of 'p'). R=littledan@chromium.org BUG=chromium:607566 LOG=n Review-Url: https://codereview.chromium.org/1940643002 Cr-Commit-Position: refs/heads/master@{#35947}
-
- 29 Apr, 2016 1 commit
-
-
machenbach authored
This prepares for pulling chromium's build as dependency for gn. After this, the files in build and gypfiles need to stay in sync until chromium is updated. BUG=chromium:474921 LOG=n Review-Url: https://codereview.chromium.org/1848553003 Cr-Commit-Position: refs/heads/master@{#35898}
-
- 20 Apr, 2016 2 commits
-
-
littledan authored
New incoming test262 tests check what happens on detached ("neutered") ArrayBuffers. This patch makes the test262 infrastructure define detaching an ArrayBuffer in terms of %ArrayBufferNeuter, passing the --allow-natives-syntax flag, when it is needed. BUG=v8:4193 LOG=N R=adamk,machenbach Review URL: https://codereview.chromium.org/1897203003 Cr-Commit-Position: refs/heads/master@{#35676}
-
littledan authored
This causes an incoming test262 test to pass, as part of the next test262 roll. R=adamk,machenbach BUG=v8:1569 LOG=N Review URL: https://codereview.chromium.org/1896293003 Cr-Commit-Position: refs/heads/master@{#35667}
-
- 19 Apr, 2016 1 commit
-
-
machenbach authored
BUG=v8:4437,v8:2899,chromium:604310 LOG=n Review URL: https://codereview.chromium.org/1402373002 Cr-Commit-Position: refs/heads/master@{#35614}
-
- 04 Apr, 2016 1 commit
-
-
littledan authored
- RegExp.prototype.toString() doesn't have any special handling of RegExp instances and simply calls the source and flags getters - Use the original values of global and sticky, rather than based on the current flag getters, as specified in https://github.com/tc39/ecma262/pull/494 R=yangguo@chromium.org,adamk LOG=Y BUG=v8:4602 Review URL: https://codereview.chromium.org/1846303002 Cr-Commit-Position: refs/heads/master@{#35225}
-
- 01 Apr, 2016 1 commit
-
-
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}
-
- 29 Mar, 2016 3 commits
-
-
adamk authored
R=littledan@chromium.org BUG=v8:4602 LOG=y Review URL: https://codereview.chromium.org/1838393002 Cr-Commit-Position: refs/heads/master@{#35120}
-
adamk authored
This patch adds fast paths for @@replace and @@split that call into the old, side-effect free (and faster) versions of those builtin operations when possible (roughly, when the receiver is a RegExp and the 'exec' method is untampered). Also add some micro-optimizations that further improve performance. Taken altogether, this takes us from a ~70% regression on the Octane RegExp benchmark to a ~9% regression. The test262.status lines for RegExps has been reorganized to make it clearer the status of individual tests. More work will likely be required to increase spec compliance before the --harmony-regexp-exec flag is shipped; some of that work is happening on the spec side. BUG=v8:4602 LOG=y Review URL: https://codereview.chromium.org/1836123002 Cr-Commit-Position: refs/heads/master@{#35118}
-
yangguo authored
R=jochen@chromium.org BUG=v8:4361 LOG=N Review URL: https://codereview.chromium.org/1819313002 Cr-Commit-Position: refs/heads/master@{#35099}
-
- 28 Mar, 2016 1 commit
-
-
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}
-
- 22 Mar, 2016 2 commits
-
-
ishell authored
BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1820293002 Cr-Commit-Position: refs/heads/master@{#35007}
-
littledan authored
String.prototype.match is specified to call out to the current value of RegExp.prototype[Symbol.match] when passed a string argument, rather than the original value. This patch updates the RegExp code to do that. R=yangguo@chromium.org BUG=v8:4602 LOG=Y Review URL: https://codereview.chromium.org/1821773003 Cr-Commit-Position: refs/heads/master@{#35001}
-
- 16 Mar, 2016 1 commit
-
-
neis authored
R=littledan@chromium.org BUG=v8:3455 LOG=n Review URL: https://codereview.chromium.org/1772343008 Cr-Commit-Position: refs/heads/master@{#34814}
-
- 15 Mar, 2016 1 commit
-
-
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}
-
- 14 Mar, 2016 1 commit
-
-
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}
-
- 11 Mar, 2016 1 commit
-
-
littledan authored
This patch removes some [PASS, FAIL_OK] lines which consistently pass, and it declares some tests to be test bugs as appropriate. R=adamk Review URL: https://codereview.chromium.org/1784063002 Cr-Commit-Position: refs/heads/master@{#34733}
-
- 10 Mar, 2016 8 commits
-
-
littledan authored
- Make separate iterator functions for TypedArrays which do a type check (and in the future should check for detached TypedArrays) - Share the toString method with Arrays BUG=v8:4785 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1780113002 Cr-Commit-Position: refs/heads/master@{#34698}
-
littledan authored
This check is guaranteed by the Promise spec and tested by test262 tests. It only has to run for subclasses. This patch adds the check to the Promise code. BUG=v8:4633 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1780823003 Cr-Commit-Position: refs/heads/master@{#34693}
-
neis authored
R=littledan@chromium.org BUG= Review URL: https://codereview.chromium.org/1779133002 Cr-Commit-Position: refs/heads/master@{#34690}
-
mstarzinger authored
This is because compiler.cc is awesome. There are cases where we do not yet have a SharedFunctionInfo that can tell us whether we are compiling a generator function, we query the FunctionLiteral instead. R=rmcilroy@chromium.org BUG=v8:4681 LOG=n Review URL: https://codereview.chromium.org/1780193002 Cr-Commit-Position: refs/heads/master@{#34677}
-
mstarzinger authored
This ensures our optimizing compilers as well as the interpreter are never tasked with compiling the generator-resuming builtin methods. The corresponding intrinsics for those methods are not supported and it is not possible to provide a C++ reference implementation for them. We do this by assigning builtin function ids to them that we can recognize during the compiler dispatch. Note that this also affects the interpreter, because methods having a builtin function id assigned are not interpreted ({function_data} field is overlapping). If this ever changes we can still do an early check in the compiler dispatch (similar to the optimizing compilers) easily. This applies to the following methods: - Generator.prototype.next (calls Runtime_GeneratorNext). - Generator.prototype.return (calls Runtime_GeneratorReturn). - Generator.prototype.throw (calls Runtime_GeneratorThrow). R=neis@chromium.org BUG=v8:4681 LOG=n Review URL: https://codereview.chromium.org/1779123003 Cr-Commit-Position: refs/heads/master@{#34675}
-
mstarzinger authored
This ensures the interpreter is not tasked with compiling generator functions. It currently does not support suspending activations at yielding points, but we still want to be able to activate it for the rest of JavaScript in the meantime. R=rmcilroy@chromium.org BUG=v8:4681 LOG=n Review URL: https://codereview.chromium.org/1782013002 Cr-Commit-Position: refs/heads/master@{#34672}
-
machenbach authored
BUG=v8:4680 LOG=n NOTRY=true TBR=rmcilroy@chromium.org NOTREECHECKS=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1778323002 Cr-Commit-Position: refs/heads/master@{#34659}
-
littledan authored
BUG=v8:4348 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1783643002 Cr-Commit-Position: refs/heads/master@{#34647}
-
- 09 Mar, 2016 1 commit
-
-
adamk authored
BUG=v8:4247 LOG=y Review URL: https://codereview.chromium.org/1781573003 Cr-Commit-Position: refs/heads/master@{#34640}
-
- 07 Mar, 2016 1 commit
-
-
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}
-
- 02 Mar, 2016 1 commit
-
-
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}
-