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

Unified Diff: src/full-codegen.cc

Issue 7046073: First steps towards better code generation for LBranch: (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 9 years, 6 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/full-codegen.cc
===================================================================
--- src/full-codegen.cc (revision 8228)
+++ src/full-codegen.cc (working copy)
@@ -441,7 +441,7 @@
// For simplicity we always test the accumulator register.
__ Move(result_register(), reg);
codegen()->PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL);
- codegen()->DoTest(true_label_, false_label_, fall_through_);
+ codegen()->DoTest(condition_, true_label_, false_label_, fall_through_);
}
@@ -463,7 +463,7 @@
// For simplicity we always test the accumulator register.
__ pop(result_register());
codegen()->PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL);
- codegen()->DoTest(true_label_, false_label_, fall_through_);
+ codegen()->DoTest(condition_, true_label_, false_label_, fall_through_);
}
@@ -744,9 +744,9 @@
Label discard, restore;
PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL);
if (is_logical_and) {
- DoTest(&discard, &restore, &restore);
+ DoTest(expr, &discard, &restore, &restore);
fschneider 2011/06/10 09:18:18 Shouldn't the test of the left subexpressions get
Kevin Millikin (Chromium) 2011/06/10 09:35:06 I think you could do it either way (as long as the
Sven Panne 2011/06/14 08:04:48 Done.
} else {
- DoTest(&restore, &discard, &restore);
+ DoTest(expr, &restore, &discard, &restore);
}
__ bind(&restore);
__ pop(result_register());
@@ -763,9 +763,9 @@
Label discard;
PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL);
if (is_logical_and) {
- DoTest(&discard, &done, &discard);
+ DoTest(expr, &discard, &done, &discard);
} else {
- DoTest(&done, &discard, &discard);
+ DoTest(expr, &done, &discard, &discard);
}
__ bind(&discard);
__ Drop(1);

Powered by Google App Engine
This is Rietveld 408576698