- 21 Jan, 2016 3 commits
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1605093002 Cr-Commit-Position: refs/heads/master@{#33430}
-
zhengxing.li authored
port f48bf12f (r33426) original commit message: The PrepareId bailout location was used incorrectly in Crankshaft and, as it turns out, is not required anyway (once you do it right). Also there was some premature optimization going on with the CheckEnumCache (trying to load null from roots only once), plus we can be smarter about the null/undefined check anyway. The idea behind this changes is to prepare unification of the two different ForInPrepare implementations that we now have, with the end result being that we only use the new implementation that was recently added for the interpreter. BUG= Review URL: https://codereview.chromium.org/1611113002 Cr-Commit-Position: refs/heads/master@{#33428}
-
bmeurer authored
The PrepareId bailout location was used incorrectly in Crankshaft and, as it turns out, is not required anyway (once you do it right). Also there was some premature optimization going on with the CheckEnumCache (trying to load null from roots only once), plus we can be smarter about the null/undefined check anyway. The idea behind this changes is to prepare unification of the two different ForInPrepare implementations that we now have, with the end result being that we only use the new implementation that was recently added for the interpreter. R=jarin@chromium.org BUG=v8:3650 LOG=n Review URL: https://codereview.chromium.org/1618613002 Cr-Commit-Position: refs/heads/master@{#33426}
-
- 19 Jan, 2016 2 commits
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1608933003 Cr-Commit-Position: refs/heads/master@{#33390}
-
nikolaos authored
After 1564083002, spread expressions are desugared and should not survive in the AST after parsing. This patch removes dead code related to this. It also eliminates the kSpread bailout reason and the concat_iterable_to_array_builtin. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1592713002 Cr-Commit-Position: refs/heads/master@{#33385}
-
- 12 Jan, 2016 6 commits
-
-
mbrandy authored
No functional change. This is prep for fixing test failures in wasm tests. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1583523002 Cr-Commit-Position: refs/heads/master@{#33248}
-
jacob.bramley authored
- Simplify the variable-length pop sequence on entry. (It now uses smaller code with no branches.) - Use conditional compare to merge branches where appropriate. - Make use of Ldrsw + UntagSmiFieldMemOperand to load smis more efficiently. - Only load 'undefined' and 'null' once per builtin. - A few other small improvements. BUG= Review URL: https://codereview.chromium.org/1576403002 Cr-Commit-Position: refs/heads/master@{#33235}
-
titzer authored
Change the CompilationInfo::IsCodePreAgingActive() predicate to CompilationInfo::GeneratePreagingPrologue() and handle the case of WASM functions, which should not be aged. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1577193003 Cr-Commit-Position: refs/heads/master@{#33232}
-
bmeurer authored
This migrates the remaining Date builtins to C++ and removes obsolete intrinsics and JavaScript wrappers. This reduces the overhead imposed by the Date builtins, and will allow us to optimize them later in the TurboFan compiler, while the interpreter doesn't need to worry about them. R=yangguo@chromium.org BUG=chromium:576574 LOG=n Committed: https://crrev.com/1e51af1a5c80b1650de47dd4bc8f846fa2d85281 Cr-Commit-Position: refs/heads/master@{#33228} Review URL: https://codereview.chromium.org/1579613002 Cr-Commit-Position: refs/heads/master@{#33231}
-
machenbach authored
Revert of [builtins] Refactor the remaining Date builtins. (patchset #2 id:20001 of https://codereview.chromium.org/1579613002/ ) Reason for revert: [Sheriff] Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/5711 Original issue's description: > [builtins] Refactor the remaining Date builtins. > > This migrates the remaining Date builtins to C++ and removes obsolete > intrinsics and JavaScript wrappers. This reduces the overhead imposed > by the Date builtins, and will allow us to optimize them later in the > TurboFan compiler, while the interpreter doesn't need to worry about > them. > > R=yangguo@chromium.org > BUG=chromium:576574 > LOG=n > > Committed: https://crrev.com/1e51af1a5c80b1650de47dd4bc8f846fa2d85281 > Cr-Commit-Position: refs/heads/master@{#33228} 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=chromium:576574 Review URL: https://codereview.chromium.org/1574223002 Cr-Commit-Position: refs/heads/master@{#33230}
-
bmeurer authored
This migrates the remaining Date builtins to C++ and removes obsolete intrinsics and JavaScript wrappers. This reduces the overhead imposed by the Date builtins, and will allow us to optimize them later in the TurboFan compiler, while the interpreter doesn't need to worry about them. R=yangguo@chromium.org BUG=chromium:576574 LOG=n Review URL: https://codereview.chromium.org/1579613002 Cr-Commit-Position: refs/heads/master@{#33228}
-
- 08 Jan, 2016 1 commit
-
-
bmeurer authored
There's no reason to have JavaScript wrappers for those accessors, since the meat is already in hand-written native code (via %_DateField). First step now to put them into native builtins. Next step will be to completely remove %_DateField. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1567353002 Cr-Commit-Position: refs/heads/master@{#33172}
-
- 07 Jan, 2016 1 commit
-
-
zhengxing.li authored
port a94d6d6e (r33108) original commit message: The mode requires an extra register, and since we aren't supporting it now, we can dispense with it. BUG= Review URL: https://codereview.chromium.org/1561943002 Cr-Commit-Position: refs/heads/master@{#33147}
-
- 05 Jan, 2016 3 commits
-
-
mbrandy authored
Port a94d6d6e Original commit message: The mode requires an extra register, and since we aren't supporting it now, we can dispense with it. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1559013005 Cr-Commit-Position: refs/heads/master@{#33118}
-
mvstanton authored
The mode requires an extra register, and since we aren't supporting it now, we can dispense with it. BUG= Review URL: https://codereview.chromium.org/1559903003 Cr-Commit-Position: refs/heads/master@{#33108}
-
zhengxing.li authored
port 82ca2a41(r33084) original commit message: This is preferable because in TurboFan we need to call it, and can't pass untagged external pointers on the stack. BUG= Review URL: https://codereview.chromium.org/1557283002 Cr-Commit-Position: refs/heads/master@{#33102}
-
- 04 Jan, 2016 4 commits
-
-
mbrandy authored
Fix build break. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1556063004 Cr-Commit-Position: refs/heads/master@{#33099}
-
mbrandy authored
Port 82ca2a41 Original commit message: This is preferable because in TurboFan we need to call it, and can't pass untagged external pointers on the stack. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1553143002 Cr-Commit-Position: refs/heads/master@{#33092}
-
mvstanton authored
This is preferable because in TurboFan we need to call it, and can't pass untagged external pointers on the stack. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1556913002 Cr-Commit-Position: refs/heads/master@{#33084}
-
jarin authored
BUG=572409 LOG=n Review URL: https://codereview.chromium.org/1555023002 Cr-Commit-Position: refs/heads/master@{#33078}
-
- 30 Dec, 2015 2 commits
-
-
cbruni authored
counts specified in runtime.h. In the vast majority of the cases when we call into the runtime we use the default number of arguments. Hence, there is not need to specify it again. This CL also removes TailCallExternalReference as there were no users. BUG= Review URL: https://codereview.chromium.org/1553703002 Cr-Commit-Position: refs/heads/master@{#33066}
-
mbrandy authored
Port 97def807 Original commit message: According to the ES2015 specification, bound functions are exotic objects, and thus don't need to be implemented as JSFunctions. So we introduce a new JSBoundFunction type to represent bound functions and make them optimizable. This already improves the performance of calling or constructing bound functions by 10-100x depending on the use case because we avoid the crazy dance between JavaScript and C++ that was implemented in v8natives.js previously. There's still room for improvement in the performance of actually creating bound functions, which is also relevant in practice, but we already have a plan how to accomplish that later. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:535408, chromium:571299, v8:4629 LOG=n Review URL: https://codereview.chromium.org/1559473002 Cr-Commit-Position: refs/heads/master@{#33064}
-
- 28 Dec, 2015 1 commit
-
-
zhengxing.li authored
port 97def807 (r33044) original commit message: According to the ES2015 specification, bound functions are exotic objects, and thus don't need to be implemented as JSFunctions. So we introduce a new JSBoundFunction type to represent bound functions and make them optimizable. This already improves the performance of calling or constructing bound functions by 10-100x depending on the use case because we avoid the crazy dance between JavaScript and C++ that was implemented in v8natives.js previously. There's still room for improvement in the performance of actually creating bound functions, which is also relevant in practice, but we already have a plan how to accomplish that later. The mips/mips64 ports were contributed by akos.palfi@imgtec.com. BUG= Review URL: https://codereview.chromium.org/1548253002 Cr-Commit-Position: refs/heads/master@{#33046}
-
- 27 Dec, 2015 2 commits
-
-
bmeurer authored
According to the ES2015 specification, bound functions are exotic objects, and thus don't need to be implemented as JSFunctions. So we introduce a new JSBoundFunction type to represent bound functions and make them optimizable. This already improves the performance of calling or constructing bound functions by 10-100x depending on the use case because we avoid the crazy dance between JavaScript and C++ that was implemented in v8natives.js previously. There's still room for improvement in the performance of actually creating bound functions, which is also relevant in practice, but we already have a plan how to accomplish that later. The mips/mips64 ports were contributed by akos.palfi@imgtec.com. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel BUG=chromium:535408, chromium:571299, v8:4629 LOG=n Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2 Cr-Commit-Position: refs/heads/master@{#33042} Review URL: https://codereview.chromium.org/1542963002 Cr-Commit-Position: refs/heads/master@{#33044}
-
bmeurer authored
Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound functions. (patchset #14 id:260001 of https://codereview.chromium.org/1542963002/ ) Reason for revert: Breaks arm64 sim nosnap: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/805/steps/Check/logs/function-bind Original issue's description: > [runtime] Introduce dedicated JSBoundFunction to represent bound functions. > > According to the ES2015 specification, bound functions are exotic > objects, and thus don't need to be implemented as JSFunctions. So > we introduce a new JSBoundFunction type to represent bound functions > and make them optimizable. This already improves the performance of > calling or constructing bound functions by 10-100x depending on the > use case because we avoid the crazy dance between JavaScript and C++ > that was implemented in v8natives.js previously. > > There's still room for improvement in the performance of actually > creating bound functions, which is also relevant in practice, but > we already have a plan how to accomplish that later. > > The mips/mips64 ports were contributed by akos.palfi@imgtec.com. > > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel > BUG=chromium:535408, chromium:571299, v8:4629 > LOG=n > > Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2 > Cr-Commit-Position: refs/heads/master@{#33042} TBR=cbruni@chromium.org,hpayer@chromium.org,yangguo@chromium.org,akos.palfi@imgtec.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:535408, chromium:571299, v8:4629 Review URL: https://codereview.chromium.org/1552473002 Cr-Commit-Position: refs/heads/master@{#33043}
-
- 26 Dec, 2015 1 commit
-
-
bmeurer authored
According to the ES2015 specification, bound functions are exotic objects, and thus don't need to be implemented as JSFunctions. So we introduce a new JSBoundFunction type to represent bound functions and make them optimizable. This already improves the performance of calling or constructing bound functions by 10-100x depending on the use case because we avoid the crazy dance between JavaScript and C++ that was implemented in v8natives.js previously. There's still room for improvement in the performance of actually creating bound functions, which is also relevant in practice, but we already have a plan how to accomplish that later. The mips/mips64 ports were contributed by akos.palfi@imgtec.com. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel BUG=chromium:535408, chromium:571299, v8:4629 LOG=n Review URL: https://codereview.chromium.org/1542963002 Cr-Commit-Position: refs/heads/master@{#33042}
-
- 24 Dec, 2015 1 commit
-
-
zhengxing.li authored
port d3f074b2 (r33024) original commit message: We'll be able to optimize rest parameters in TurboFan similarly to the arguments array. This CL restores the previous behavior, and a follow-on will enable TurboFan optimization. (TBR for rossberg since we discussed the revert beforehand. The only changes are a few lines related to tests and rebasing.) BUG= Review URL: https://codereview.chromium.org/1545053002 Cr-Commit-Position: refs/heads/master@{#33034}
-
- 23 Dec, 2015 2 commits
-
-
mbrandy authored
Port d3f074b2 Original commit message: We'll be able to optimize rest parameters in TurboFan similarly to the arguments array. This CL restores the previous behavior, and a follow-on will enable TurboFan optimization. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1549743003 Cr-Commit-Position: refs/heads/master@{#33028}
-
mvstanton authored
We'll be able to optimize rest parameters in TurboFan similarly to the arguments array. This CL restores the previous behavior, and a follow-on will enable TurboFan optimization. (TBR for rossberg since we discussed the revert beforehand. The only changes are a few lines related to tests and rebasing.) TBR=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1537683002 Cr-Commit-Position: refs/heads/master@{#33024}
-
- 18 Dec, 2015 1 commit
-
-
mbrandy authored
Port aafc3e54 Original commit message: The FIRST-LAST_NONCALLABLE_SPEC_OBJECT_TYPE range was accidentially used in field type tracking, where we should check for JSReceiver instead (there's no need to exclude JSProxy or JSFunction from tracking). And the use in %_ClassOf was actually wrong and didn't match the C++ implementation in JSReceiver::class_name() anymore. Now it's consistent again. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:535408 LOG=n Review URL: https://codereview.chromium.org/1537013002 Cr-Commit-Position: refs/heads/master@{#32973}
-
- 17 Dec, 2015 3 commits
-
-
zhengxing.li authored
port aafc3e54 (r32926) original commit message: The FIRST-LAST_NONCALLABLE_SPEC_OBJECT_TYPE range was accidentially used in field type tracking, where we should check for JSReceiver instead (there's no need to exclude JSProxy or JSFunction from tracking). And the use in %_ClassOf was actually wrong and didn't match the C++ implementation in JSReceiver::class_name() anymore. Now it's consistent again. BUG= Review URL: https://codereview.chromium.org/1537613002 Cr-Commit-Position: refs/heads/master@{#32937}
-
paul.lind authored
Add Ivica B. NOTRY=true Review URL: https://codereview.chromium.org/1525413003 Cr-Commit-Position: refs/heads/master@{#32933}
-
Benedikt Meurer authored
The FIRST-LAST_NONCALLABLE_SPEC_OBJECT_TYPE range was accidentially used in field type tracking, where we should check for JSReceiver instead (there's no need to exclude JSProxy or JSFunction from tracking). And the use in %_ClassOf was actually wrong and didn't match the C++ implementation in JSReceiver::class_name() anymore. Now it's consistent again. R=yangguo@chromium.org BUG=chromium:535408 LOG=n Review URL: https://codereview.chromium.org/1535523003 . Cr-Commit-Position: refs/heads/master@{#32926}
-
- 16 Dec, 2015 2 commits
-
-
mbrandy authored
Use appropriate load instruction for 32-bit mode. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:3330 LOG=n Review URL: https://codereview.chromium.org/1532673002 Cr-Commit-Position: refs/heads/master@{#32917}
-
bmeurer authored
Following up on https://crrev.com/1517243002, we use the %_GetSuperConstructor consistently for all super calls now (inlining the intrinsic code in fullcodegen). R=mstarzinger@chromium.org BUG=v8:3330 LOG=n Review URL: https://codereview.chromium.org/1529113002 Cr-Commit-Position: refs/heads/master@{#32890}
-
- 15 Dec, 2015 1 commit
-
-
zhengxing.li authored
X87: [proxy] fixing for-in for proxies, fixing harmony/proxy.js tests, improving error messages and some drive-by fixes. port df2a9297 (r32801) original commit message: BUG= Review URL: https://codereview.chromium.org/1523993003 Cr-Commit-Position: refs/heads/master@{#32853}
-
- 14 Dec, 2015 1 commit
-
-
bmeurer authored
Since the parser now desugars super constructor calls to simple primitives, we can also easily optimize those in fullcodegen w/ just a few simple lines of native code per architecture. This code in particular should be fast, so it seems worth the code in fullcodegen. BUG=v8:3330 LOG=n Review URL: https://codereview.chromium.org/1524673002 Cr-Commit-Position: refs/heads/master@{#32823}
-
- 11 Dec, 2015 3 commits
-
-
bmeurer authored
Instead desugar the default constructor for derived classes using the same mechanism we use for normal super constructor calls. TBR=rossberg@chromium.org R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1517243002 Cr-Commit-Position: refs/heads/master@{#32810}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1517673002 Cr-Commit-Position: refs/heads/master@{#32806}
-
cbruni authored
[proxy] fixing for-in for proxies, fixing harmony/proxy.js tests, improving error messages and some drive-by fixes BUG=v8:1543 LOG=n patch from issue 1519473002 at patchset 1 (http://crrev.com/1519473002#ps1) Review URL: https://codereview.chromium.org/1516843002 Cr-Commit-Position: refs/heads/master@{#32801}
-