- 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 8 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}
-
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} Review URL: https://codereview.chromium.org/1419823010 Cr-Commit-Position: refs/heads/master@{#31782}
-
yangguo authored
Revert of Implement flag and source getters on RegExp.prototype. (patchset #3 id:50001 of https://codereview.chromium.org/1419823010/ ) Reason for revert: Performance issue. 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} 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/1409013006 Cr-Commit-Position: refs/heads/master@{#31780}
-
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} Review URL: https://codereview.chromium.org/1419823010 Cr-Commit-Position: refs/heads/master@{#31773}
-
- 03 Nov, 2015 2 commits
-
-
machenbach authored
Revert of Implement flag and source getters on RegExp.prototype. (patchset #3 id:50001 of https://codereview.chromium.org/1419823010/ ) Reason for revert: [Sheriff] Changes layout tests. Please rebase upstream first. E.g.: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/2686 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} 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/1427733005 Cr-Commit-Position: refs/heads/master@{#31758}
-
yangguo authored
R=littledan@chromium.org BUG=v8:3715, v8:4528 LOG=Y Review URL: https://codereview.chromium.org/1419823010 Cr-Commit-Position: refs/heads/master@{#31753}
-
- 27 Oct, 2015 1 commit
-
-
yangguo authored
With ES6 21.2.5.8, step 13, we no longer have to keep up the illusion that matching and calling replace function is interleaved. This is observable through unspec'ed static properties such as RegExp.$1. Last match info not working yet. R=littledan@chromium.org Review URL: https://codereview.chromium.org/1418703003 Cr-Commit-Position: refs/heads/master@{#31593}
-
- 22 Oct, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1413173003 Cr-Commit-Position: refs/heads/master@{#31467}
-
- 16 Oct, 2015 1 commit
-
-
yangguo authored
R=rossberg@chromium.org BUG=v8:4471 LOG=N Review URL: https://codereview.chromium.org/1410753002 Cr-Commit-Position: refs/heads/master@{#31330}
-
- 13 Oct, 2015 1 commit
-
-
mstarzinger authored
This moves JavaScript source files that are bundled with V8 into a separate directory. The goal is to improve code readability and also being able to formalize ideal reviewers by subsequently adding the OWNERS file. These files almost exclusively contain implementations of methods fully specified by ES6. Note that files in the "debug" directory as well as the "d8.js" file aren't affected by this change. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1398733002 Cr-Commit-Position: refs/heads/master@{#31230}
-
- 01 Oct, 2015 1 commit
-
-
bmeurer authored
Introduce %_ToNumber intrinsic, which just calls to the existing ToNumberStub, and remove all uses of our custom JavaScript plus intrinsics based ToNumber and friends. Also replace the TO_NUMBER_INLINE macro with TO_NUMBER, which is currently a wrapper for %_ToNumber. Newly written JS code should use TO_NUMBER (similar to TO_STRING, TO_INT32, and friends). Also finally remove the DefaultString/DefaultNumber builtins, which are basically the ES5 version of ToPrimitive. Now all code uses the ES6 version, which is implemented in Object::ToPrimitive and JSReceiver::ToPrimitive in C++. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1384443002 Cr-Commit-Position: refs/heads/master@{#31054}
-
- 29 Sep, 2015 1 commit
-
-
bmeurer authored
This adds ES6 compliant Object::ToInteger, Object::ToInt32, Object::ToUint32 and Object::ToLength, and replaces the old Execution wrappers of those abstract operations (which were not using the correct ToPrimitive). This also introduces proper %ToInteger and %ToLength runtime entries, with a fast path %_ToInteger supported in fullcodegen and Crankshaft (for now). Internal JavaScript code should use TO_INTEGER and TO_LENGTH respectively. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1378533002 Cr-Commit-Position: refs/heads/master@{#30993}
-
- 23 Sep, 2015 1 commit
-
-
bmeurer authored
Introduce a new macro TO_STRING that maps to %_ToString and use that instead of calling into any of the ToString/NonStringToString JavaScript builtins. Also remove the TO_STRING_INLINE macro, which is basically obsolete with %_ToString. We still have a few uses of ToString left (via the utils export mechanism), where we need to investigate whether we will tank badly if we replace them with TO_STRING as well. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=yangguo@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1323543002 Cr-Commit-Position: refs/heads/master@{#30895}
-
- 16 Sep, 2015 1 commit
-
-
bmeurer authored
Implement the String constructor completely as native builtin, avoiding the need to do gymnastics in JavaScript builtin to properly detect the no argument case (which is different from the undefined argument case) and also allowing to just tailcall through to ToString or SymbolDescriptiveString for the common case. Also the JavaScript builtin was misleading since the case for construct call was unused, but could be triggered in a wrong way once we support tail calls from constructor functions. This refactoring allows us to properly implement subclassing for String builtins, once we have the correct initial_map on derived classes (it's merely a matter of using NewTarget instead of the target register now). This introduces a new %SymbolDescriptiveString runtime entry, which is also used by Symbol.toString() now. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1344893002 Cr-Commit-Position: refs/heads/master@{#30759}
-
- 15 Sep, 2015 1 commit
-
-
bmeurer authored
The ES6 specification says that "Built-in functions that are ECMAScript function objects must be strict mode functions", which in particular means that you can never test for them using the "caller" field of a sloppy mode function. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=mstarzinger@chromium.org BUG=v8:105 LOG=n Review URL: https://codereview.chromium.org/1347663002 Cr-Commit-Position: refs/heads/master@{#30750}
-
- 08 Sep, 2015 2 commits
-
-
bmeurer authored
The semantics of the %_CallFunction intrinsic seem to be very unclear, which resulted in a lot of bugs. Especially the combination with %IsSloppyModeFunction is always a bug, because the receiver would be wrapped in the wrong context. So the %IsSloppyModeFunction helper is gone now, and many of the buggy uses of %_CallFunction are also eliminated. If you ever need to call something with a different receiver, then %_Call is your friend now. It does what you want and implements the call sequence fully (and correct). BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1325573004 Cr-Commit-Position: refs/heads/master@{#30634}
-
karl authored
Replace Math{Min,Max} Direct string comparison Compared to https://codereview.chromium.org/1321853006/ single character found at true 77 P found at false 70 က found at false 70 BUG=v8:4384 LOG=N Review URL: https://codereview.chromium.org/1324353002 Cr-Commit-Position: refs/heads/master@{#30631}
-
- 04 Sep, 2015 1 commit
-
-
karl authored
Much faster and constant than always searching the whole string ```` var allCodePoints = []; for (var i = 0; i < 65536; i++) allCodePoints[i] = i; var allCharsString = String.fromCharCode.apply(String, allCodePoints); function bench(search) { var counter = 0; print(search + " found at " + allCharsString.startsWith(search)); var start = Date.now(); while (counter++ < 5000000) { allCharsString.startsWith(search); } var end = Date.now(); print(end - start); return counter; } print("single character"); bench("\u0000"); bench("\u0050"); bench("\u1000"); ```` OLD single character found at true 374 P found at false 559 က found at false 13492 NEW single character found at true 261 P found at false 146 က found at false 146 BUG=v8:4384 LOG=N Review URL: https://codereview.chromium.org/1321853006 Cr-Commit-Position: refs/heads/master@{#30599}
-
- 03 Sep, 2015 1 commit
-
-
bmeurer authored
This turns the has_instance_call_handler bit on Map into an is_callable bit, that matches the spec definition of IsCallable (i.e. instances have [[Call]] internal methods). Also fix the typeof operator to properly say "function" for everything that is callable. Also remove the (unused) premature %_GetPrototype optimization from Crankshaft, which just complicated the Map bit swap. R=mstarzinger@chromium.org, rossberg@chromium.org, yangguo@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg Review URL: https://codereview.chromium.org/1316933002 Cr-Commit-Position: refs/heads/master@{#30552}
-
- 28 Aug, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1318043002 Cr-Commit-Position: refs/heads/master@{#30438}
-
- 19 Aug, 2015 1 commit
-
-
yangguo authored
This mainly changes how we share ToBoolean, ToNumber and ToString between native scripts. Instead of putting them on the js builtins object, we now explicitly export and import those functions. I also had to change the import/export mechanism slightly. Previously, exports and imports are hooked up after all native scripts have been executed. This means that imported functions cannot be called at the time the native script is executed. However, since ToBoolean (and also e.g. ObjectDefineProperties) is called in v8natives.js, I changed the mechanism so that exports from previous native scripts (runtime.js for ToBoolean) is imported immediately and can be called. R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1302533002 Cr-Commit-Position: refs/heads/master@{#30244}
-
- 12 Aug, 2015 1 commit
-
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1282793002 Cr-Commit-Position: refs/heads/master@{#30136}
-
- 11 Aug, 2015 1 commit
-
-
adamk authored
R=littledan@chromium.org BUG=v8:4304 LOG=n Review URL: https://codereview.chromium.org/1282013002 Cr-Commit-Position: refs/heads/master@{#30098}
-
- 05 Aug, 2015 1 commit
-
-
mathias authored
TEST=test/intl/string/normalization BUG=v8:4303 LOG=N Review URL: https://codereview.chromium.org/1274653002 Cr-Commit-Position: refs/heads/master@{#30030}
-