Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Unified Diff: src/builtins/builtins-conversion-gen.cc

Issue 2803853005: Inline Array.prototype.forEach in TurboFan (Closed)
Patch Set: Review feedback Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/builtins/builtins-conversion-gen.cc
diff --git a/src/builtins/builtins-conversion-gen.cc b/src/builtins/builtins-conversion-gen.cc
index 21d59346b54a9d862ab77eaa74af088c616ce61f..b134750231348bf99acd6f0f03ac448e53ad9551 100644
--- a/src/builtins/builtins-conversion-gen.cc
+++ b/src/builtins/builtins-conversion-gen.cc
@@ -249,6 +249,22 @@ TF_BUILTIN(ToBoolean, CodeStubAssembler) {
Return(BooleanConstant(false));
}
+// ES6 section 7.1.2 ToBoolean ( argument )
+// Requires parameter on stack to that it can be used as a continuation from a
+// LAZY deopt.
+TF_BUILTIN(ToBooleanLazyDeoptContinuation, CodeStubAssembler) {
Benedikt Meurer 2017/05/18 06:32:52 That should be in a separate follow-up CL.
danno 2017/05/22 10:28:10 Done.
+ Node* value = Parameter(Descriptor::kArgument);
+
+ Label return_true(this), return_false(this);
+ BranchIfToBooleanIsTrue(value, &return_true, &return_false);
+
+ BIND(&return_true);
+ Return(BooleanConstant(true));
+
+ BIND(&return_false);
+ Return(BooleanConstant(false));
+}
+
TF_BUILTIN(ToLength, CodeStubAssembler) {
Node* context = Parameter(Descriptor::kContext);

Powered by Google App Engine
This is Rietveld 408576698