- 05 Jul, 2016 3 commits
-
-
bmeurer authored
This drops the %_ValueOf intrinsic, but keeps the runtime entry %ValueOf for now, by either migrating the functionality (mostly Debug mirror or toString/valueOf methods) to C++ or TurboFan builtins, or switching to the %ValueOf runtime call when it's not performance critical anyways. The %_ValueOf intrinsic was one of the last blockers for fixing the unsound machine operator typing in TurboFan. R=yangguo@chromium.org BUG=v8:5049 Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2 Review-Url: https://codereview.chromium.org/2126453002 Cr-Original-Commit-Position: refs/heads/master@{#37512} Cr-Commit-Position: refs/heads/master@{#37519}
-
machenbach authored
Revert of [intrinsic] Drop the %_ValueOf intrinsic. (patchset #2 id:20001 of https://codereview.chromium.org/2126453002/ ) Reason for revert: [Sheriff] Breaks without i18n: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/8466 Original issue's description: > [intrinsic] Drop the %_ValueOf intrinsic. > > This drops the %_ValueOf intrinsic, but keeps the runtime entry > %ValueOf for now, by either migrating the functionality (mostly > Debug mirror or toString/valueOf methods) to C++ or TurboFan > builtins, or switching to the %ValueOf runtime call when it's > not performance critical anyways. > > The %_ValueOf intrinsic was one of the last blockers for fixing > the unsound machine operator typing in TurboFan. > > R=yangguo@chromium.org > BUG=v8:5049 > > Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2 > Cr-Commit-Position: refs/heads/master@{#37512} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5049 Review-Url: https://codereview.chromium.org/2117273002 Cr-Commit-Position: refs/heads/master@{#37514}
-
bmeurer authored
This drops the %_ValueOf intrinsic, but keeps the runtime entry %ValueOf for now, by either migrating the functionality (mostly Debug mirror or toString/valueOf methods) to C++ or TurboFan builtins, or switching to the %ValueOf runtime call when it's not performance critical anyways. The %_ValueOf intrinsic was one of the last blockers for fixing the unsound machine operator typing in TurboFan. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2126453002 Cr-Commit-Position: refs/heads/master@{#37512}
-
- 29 Jun, 2016 1 commit
-
-
neis authored
The start argument must be converted to an integer before the length argument is converted. (Consequently, the start argument is converted even when the length is 0.) This matters because conversion is observable. Also rewrite the function in a way that closely resembles the spec text. R=littledan@chromium.org BUG=v8:5140 Review-Url: https://codereview.chromium.org/2109583002 Cr-Commit-Position: refs/heads/master@{#37378}
-
- 27 Jun, 2016 1 commit
-
-
franzih authored
Instead of a JS implementation that calls C++ runtime functions, migrate String.fromCodePoint() to C++. BUG=v8:5049 Review-Url: https://codereview.chromium.org/2038563003 Cr-Commit-Position: refs/heads/master@{#37293}
-
- 30 May, 2016 2 commits
-
-
machenbach authored
Revert of [builtins] Also migrate String.prototype.toLowerCase/toUpperCase to C++. (patchset #2 id:20001 of https://codereview.chromium.org/2018983002/ ) Reason for revert: Please rebase blink first (if intended): https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7092 Original issue's description: > [builtins] Also migrate String.prototype.toLowerCase/toUpperCase to C++. > > These builtins always call into C++ anyways and so there's no point in > having the JavaScript wrapper around them, but instead they can be > implemented as C++ builtins directly. > > R=franzih@chromium.org > BUG=v8:5049 > > Committed: https://crrev.com/4e66888869bf04c73b41e5747e4595747a7b20df > Cr-Commit-Position: refs/heads/master@{#36569} TBR=franzih@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5049 Review-Url: https://codereview.chromium.org/2023753002 Cr-Commit-Position: refs/heads/master@{#36572}
-
bmeurer authored
These builtins always call into C++ anyways and so there's no point in having the JavaScript wrapper around them, but instead they can be implemented as C++ builtins directly. R=franzih@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2018983002 Cr-Commit-Position: refs/heads/master@{#36569}
-
- 27 May, 2016 1 commit
-
-
bmeurer authored
These builtins do call into C++ anyways, so there's no point in keeping the JavaScript wrappers for them. R=franzih@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2018963002 Cr-Commit-Position: refs/heads/master@{#36553}
-
- 24 May, 2016 1 commit
-
-
bmeurer authored
R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2004933003 Cr-Commit-Position: refs/heads/master@{#36457}
-
- 21 May, 2016 1 commit
-
-
bmeurer authored
The previous JavaScript version created way too many ConsStrings for longer strings, i.e. when using String.fromCharCode together with Function.prototype.apply and arrays of char codes. This version now always allocates sequential strings and therefore uses way less memory when turning longer character sequences into strings, and therefore fixes the memory regression on Google Maps. BUG=chromium:609831 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2004733002 Cr-Commit-Position: refs/heads/master@{#36427}
-
- 12 Apr, 2016 3 commits
-
-
bmeurer authored
Make these builtins fast by default w/o relying on the %_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal with well in TurboFan (and ignition). CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg,v8_linux_blink_rel R=epertoso@chromium.org Committed: https://crrev.com/43d3331d87f68ea7efa1b58f559f33f60e5dacfb Cr-Commit-Position: refs/heads/master@{#35350} Committed: https://crrev.com/253a16f690ab593a95249c34ded9df477ad9a54c Cr-Commit-Position: refs/heads/master@{#35402} Review URL: https://codereview.chromium.org/1868963002 Cr-Commit-Position: refs/heads/master@{#35411}
-
machenbach authored
Revert of [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan. (patchset #3 id:40001 of https://codereview.chromium.org/1868963002/ ) Reason for revert: Please rebaseline: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5992 Original issue's description: > [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan. > > Make these builtins fast by default w/o relying on the > %_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal > with well in TurboFan (and ignition). > > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg > R=epertoso@chromium.org > > Committed: https://crrev.com/43d3331d87f68ea7efa1b58f559f33f60e5dacfb > Cr-Commit-Position: refs/heads/master@{#35350} > > Committed: https://crrev.com/253a16f690ab593a95249c34ded9df477ad9a54c > Cr-Commit-Position: refs/heads/master@{#35402} TBR=epertoso@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1877263002 Cr-Commit-Position: refs/heads/master@{#35410}
-
bmeurer authored
Make these builtins fast by default w/o relying on the %_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal with well in TurboFan (and ignition). CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg R=epertoso@chromium.org Committed: https://crrev.com/43d3331d87f68ea7efa1b58f559f33f60e5dacfb Cr-Commit-Position: refs/heads/master@{#35350} Review URL: https://codereview.chromium.org/1868963002 Cr-Commit-Position: refs/heads/master@{#35402}
-
- 08 Apr, 2016 2 commits
-
-
hablich authored
Revert of [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan. (patchset #2 id:20001 of https://codereview.chromium.org/1868963002/ ) Reason for revert: Needed to revert https://codereview.chromium.org/1838283003/ Original issue's description: > [builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan. > > Make these builtins fast by default w/o relying on the > %_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal > with well in TurboFan (and ignition). > > R=epertoso@chromium.org > > Committed: https://crrev.com/43d3331d87f68ea7efa1b58f559f33f60e5dacfb > Cr-Commit-Position: refs/heads/master@{#35350} TBR=epertoso@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1870993002 Cr-Commit-Position: refs/heads/master@{#35351}
-
bmeurer authored
Make these builtins fast by default w/o relying on the %_StringCharCodeAt and %_StringCharAt intrinsics, which we cannot deal with well in TurboFan (and ignition). R=epertoso@chromium.org Review URL: https://codereview.chromium.org/1868963002 Cr-Commit-Position: refs/heads/master@{#35350}
-
- 01 Apr, 2016 1 commit
-
-
cbruni authored
This should help speeding up Promise and RegExp instantiations substantially. BUG= Review URL: https://codereview.chromium.org/1850643002 Cr-Commit-Position: refs/heads/master@{#35200}
-
- 28 Mar, 2016 1 commit
-
-
adamk authored
Previously, they would check for Symbol.match/Symbol.search, and then do another check for Symbol.match in the RegExp constructor. This patch avoids the second one by skipping the RegExp constructor, as the spec does. Review URL: https://codereview.chromium.org/1840723002 Cr-Commit-Position: refs/heads/master@{#35085}
-
- 22 Mar, 2016 1 commit
-
-
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}
-
- 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}
-
- 12 Feb, 2016 2 commits
-
-
bmeurer authored
This is the very last use of %_Arguments and %_ArgumentsLength, and also the main blocker for not inlining builtins. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1681403006 Cr-Commit-Position: refs/heads/master@{#33939}
-
bmeurer authored
There's only one last user of %_Arguments and %_ArgumentsLength left, the rest was updated to either strict mode arguments object or to not use arguments at all. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1692003003 Cr-Commit-Position: refs/heads/master@{#33935}
-
- 28 Jan, 2016 1 commit
-
-
bmeurer authored
The previous versions of Math.max and Math.min made it difficult to optimize those (that's why we already have custom code in Crankshaft), and due to lack of ideas what to do about the variable number of arguments, we will probably need to stick in special code in TurboFan as well; so inlining those builtins is off the table, hence there's no real advantage in having them around as "not quite JS" with extra work necessary in the optimizing compilers to still make those builtins somewhat fast in cases where we cannot inline them (also there's a tricky deopt loop in Crankshaft related to Math.min and Math.max, but that will be dealt with later). So to sum up: Instead of trying to make Math.max and Math.min semi-fast in the optimizing compilers with weird work-arounds support %_Arguments %_ArgumentsLength, we do provide the optimal code as native builtins instead and call it a day (which gives a nice performance boost on some benchmarks). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1641083003 Cr-Commit-Position: refs/heads/master@{#33582}
-
- 19 Jan, 2016 1 commit
-
-
littledan authored
This patch implements one aspect of ES2015 RegExp subclassing: String.prototype.replace is separated into two parts, a method on RegExp.prototype in case the first argument is a RegExp, and the String.prototype.replace method, which handles the string pattern case. This separation is described in the ES2015 specification. Most of the patch is simply moving code from string.js to regexp.js. R=yangguo LOG=Y BUG=v8:4343 Review URL: https://codereview.chromium.org/1590673002 Cr-Commit-Position: refs/heads/master@{#33393}
-
- 14 Dec, 2015 1 commit
-
-
yangguo authored
BUG=v8:4344 LOG=N R=littledan@chromium.org Review URL: https://codereview.chromium.org/1506353009 Cr-Commit-Position: refs/heads/master@{#32827}
-
- 10 Dec, 2015 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1513223003 Cr-Commit-Position: refs/heads/master@{#32757}
-
- 24 Nov, 2015 1 commit
-
-
yangguo authored
BUG=v8:4305 LOG=N Review URL: https://codereview.chromium.org/1434523002 Cr-Commit-Position: refs/heads/master@{#32210}
-
- 20 Nov, 2015 1 commit
-
-
adamk authored
This lets us pass one test262 test (and seems to match what other implementations do to handle this case). R=littledan@chromium.org BUG=v8:4362 LOG=n Review URL: https://codereview.chromium.org/1454543003 Cr-Commit-Position: refs/heads/master@{#32155}
-
- 13 Nov, 2015 1 commit
-
-
rossberg authored
This reverts commit b7db5cd9 (https://codereview.chromium.org/1324353002/). Our internal dashboard shows that this patch has introduced massive (3x) performance regressions for string ops. This is probably due to it repeatedly invoking %_StringCharCodeAt in a loop, which is far from cheap (has to dispatch on one of our 30+ string representations each time). TBR=dehrenberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1439083003 Cr-Commit-Position: refs/heads/master@{#31981}
-
- 10 Nov, 2015 1 commit
-
-
yangguo authored
RegExp.prototye[@@split] is not yet implement to spec regarding creating new RegExp object with the SpeciesConstructor. R=littledan@chromium.org BUG=v8:4345 LOG=N Review URL: https://codereview.chromium.org/1427573005 Cr-Commit-Position: refs/heads/master@{#31911}
-
- 09 Nov, 2015 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:4536 LOG=N Review URL: https://codereview.chromium.org/1427743008 Cr-Commit-Position: refs/heads/master@{#31872}
-
- 05 Nov, 2015 5 commits
-
-
yangguo authored
R=bmeurer@chromium.org Committed: https://crrev.com/5a1e42c039ac3379ebe1e7e34fb8163e1ec1493e Cr-Commit-Position: refs/heads/master@{#31791} Committed: https://crrev.com/bf5c9af92ac0a5b7f020ac968d3d42ed06aa6144 Cr-Commit-Position: refs/heads/master@{#31805} Review URL: https://codereview.chromium.org/1428203003 Cr-Commit-Position: refs/heads/master@{#31838}
-
yangguo authored
R=littledan@chromium.org BUG=v8:3715, v8:4528 LOG=Y Committed: https://crrev.com/60e8877e161fe6175e19fafce2d6ed1c3999cdb1 Cr-Commit-Position: refs/heads/master@{#31753} Committed: https://crrev.com/b5c80a31ad266eb38a0cf2ff756be59c66d34aa5 Cr-Commit-Position: refs/heads/master@{#31773} Committed: https://crrev.com/85494e90bb63a3a9e19a1bf862cb6bfcb0162ee9 Cr-Commit-Position: refs/heads/master@{#31782} Committed: https://crrev.com/152163c1646b45f5fc5d31a4ec2eb55d7f4a2ffc Cr-Commit-Position: refs/heads/master@{#31804} Review URL: https://codereview.chromium.org/1419823010 Cr-Commit-Position: refs/heads/master@{#31824}
-
bmeurer authored
The %_CallFunction doesn't implement the call sequence properly, it doesn't do the receiver wrapping, nor does it check for classConstructor. Also the eager deoptimization for %_CallFunction was seriously b0rked (we must have been lucky with TurboFan so far). R=yangguo@chromium.org BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1419813010 Cr-Commit-Position: refs/heads/master@{#31821}
-
yangguo authored
Revert of Implement flag and source getters on RegExp.prototype. (patchset #6 id:110001 of https://codereview.chromium.org/1419823010/ ) Reason for revert: browser_tests failure with --gtest_filter=ExternallyConnectableMessagingTest.EnablingAndDisabling Original issue's description: > Implement flag and source getters on RegExp.prototype. > > R=littledan@chromium.org > BUG=v8:3715, v8:4528 > LOG=Y > > Committed: https://crrev.com/60e8877e161fe6175e19fafce2d6ed1c3999cdb1 > Cr-Commit-Position: refs/heads/master@{#31753} > > Committed: https://crrev.com/b5c80a31ad266eb38a0cf2ff756be59c66d34aa5 > Cr-Commit-Position: refs/heads/master@{#31773} > > Committed: https://crrev.com/85494e90bb63a3a9e19a1bf862cb6bfcb0162ee9 > Cr-Commit-Position: refs/heads/master@{#31782} > > Committed: https://crrev.com/152163c1646b45f5fc5d31a4ec2eb55d7f4a2ffc > Cr-Commit-Position: refs/heads/master@{#31804} TBR=littledan@chromium.org,jochen@chromium.org,ulan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3715, v8:4528 Review URL: https://codereview.chromium.org/1426413002 Cr-Commit-Position: refs/heads/master@{#31818}
-
yangguo authored
Revert of Use in-object fields instead of private symbols for regexp slots. (patchset #4 id:60001 of https://codereview.chromium.org/1428203003/ ) Reason for revert: browser_tests failure with --gtest_filter=ExternallyConnectableMessagingTest.EnablingAndDisabling Original issue's description: > Use in-object fields instead of private symbols for regexp slots. > > R=bmeurer@chromium.org > > Committed: https://crrev.com/5a1e42c039ac3379ebe1e7e34fb8163e1ec1493e > Cr-Commit-Position: refs/heads/master@{#31791} > > Committed: https://crrev.com/bf5c9af92ac0a5b7f020ac968d3d42ed06aa6144 > Cr-Commit-Position: refs/heads/master@{#31805} TBR=bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1432453005 Cr-Commit-Position: refs/heads/master@{#31817}
-
- 04 Nov, 2015 5 commits
-
-
yangguo authored
R=bmeurer@chromium.org Committed: https://crrev.com/5a1e42c039ac3379ebe1e7e34fb8163e1ec1493e Cr-Commit-Position: refs/heads/master@{#31791} Review URL: https://codereview.chromium.org/1428203003 Cr-Commit-Position: refs/heads/master@{#31805}
-
yangguo authored
R=littledan@chromium.org BUG=v8:3715, v8:4528 LOG=Y Committed: https://crrev.com/60e8877e161fe6175e19fafce2d6ed1c3999cdb1 Cr-Commit-Position: refs/heads/master@{#31753} Committed: https://crrev.com/b5c80a31ad266eb38a0cf2ff756be59c66d34aa5 Cr-Commit-Position: refs/heads/master@{#31773} Committed: https://crrev.com/85494e90bb63a3a9e19a1bf862cb6bfcb0162ee9 Cr-Commit-Position: refs/heads/master@{#31782} Review URL: https://codereview.chromium.org/1419823010 Cr-Commit-Position: refs/heads/master@{#31804}
-
hablich authored
Revert of Implement flag and source getters on RegExp.prototype. (patchset #6 id:110001 of https://codereview.chromium.org/1419823010/ ) Reason for revert: Breaks Chromium tests and blocks the roll: http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/124490 Original issue's description: > Implement flag and source getters on RegExp.prototype. > > R=littledan@chromium.org > BUG=v8:3715, v8:4528 > LOG=Y > > Committed: https://crrev.com/60e8877e161fe6175e19fafce2d6ed1c3999cdb1 > Cr-Commit-Position: refs/heads/master@{#31753} > > Committed: https://crrev.com/b5c80a31ad266eb38a0cf2ff756be59c66d34aa5 > Cr-Commit-Position: refs/heads/master@{#31773} > > Committed: https://crrev.com/85494e90bb63a3a9e19a1bf862cb6bfcb0162ee9 > Cr-Commit-Position: refs/heads/master@{#31782} TBR=littledan@chromium.org,jochen@chromium.org,ulan@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3715, v8:4528 Review URL: https://codereview.chromium.org/1432683002 Cr-Commit-Position: refs/heads/master@{#31801}
-
hablich authored
Revert of Use in-object fields instead of private symbols for regexp slots. (patchset #4 id:60001 of https://codereview.chromium.org/1428203003/ ) Reason for revert: A clean revert of https://codereview.chromium.org/1419823010/ was not possible because of this CL. Thus, I am also reverting this CL. Original issue's description: > Use in-object fields instead of private symbols for regexp slots. > > R=bmeurer@chromium.org > > Committed: https://crrev.com/5a1e42c039ac3379ebe1e7e34fb8163e1ec1493e > Cr-Commit-Position: refs/heads/master@{#31791} TBR=bmeurer@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1421593009 Cr-Commit-Position: refs/heads/master@{#31800}
-
yangguo authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1428203003 Cr-Commit-Position: refs/heads/master@{#31791}
-