summaryrefslogtreecommitdiffstats
path: root/src/full-codegen.cc
diff options
context:
space:
mode:
authorIain Merrick <husky@google.com>2010-09-13 15:29:50 +0100
committerIain Merrick <husky@google.com>2010-09-14 14:47:29 +0100
commit9ac36c9faca11611ada13b4054edbaa0738661d0 (patch)
treeb2bfdf8a2fe7e5b4ab40d6fe66277d015274a74f /src/full-codegen.cc
parent80d68eab642096c1a48b6474d6ec33064b0ad1f5 (diff)
downloadandroid_external_v8-9ac36c9faca11611ada13b4054edbaa0738661d0.tar.gz
android_external_v8-9ac36c9faca11611ada13b4054edbaa0738661d0.tar.bz2
android_external_v8-9ac36c9faca11611ada13b4054edbaa0738661d0.zip
Update V8 to r5425 as required by WebKit r67178
Change-Id: Ic338e7242d33e5a024bd5978f4a5a3a681af4ebd
Diffstat (limited to 'src/full-codegen.cc')
-rw-r--r--src/full-codegen.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/full-codegen.cc b/src/full-codegen.cc
index 59cbad95..5ffebfb5 100644
--- a/src/full-codegen.cc
+++ b/src/full-codegen.cc
@@ -825,7 +825,7 @@ void FullCodeGenerator::VisitDoWhileStatement(DoWhileStatement* stmt) {
void FullCodeGenerator::VisitWhileStatement(WhileStatement* stmt) {
Comment cmnt(masm_, "[ WhileStatement");
- Label body, stack_limit_hit, stack_check_success;
+ Label body, stack_limit_hit, stack_check_success, done;
Iteration loop_statement(this, stmt);
increment_loop_depth();
@@ -833,11 +833,6 @@ void FullCodeGenerator::VisitWhileStatement(WhileStatement* stmt) {
// Emit the test at the bottom of the loop.
__ jmp(loop_statement.continue_target());
- __ bind(&stack_limit_hit);
- StackCheckStub stack_stub;
- __ CallStub(&stack_stub);
- __ jmp(&stack_check_success);
-
__ bind(&body);
Visit(stmt->body());
__ bind(loop_statement.continue_target());
@@ -856,6 +851,14 @@ void FullCodeGenerator::VisitWhileStatement(WhileStatement* stmt) {
loop_statement.break_target());
__ bind(loop_statement.break_target());
+ __ jmp(&done);
+
+ __ bind(&stack_limit_hit);
+ StackCheckStub stack_stub;
+ __ CallStub(&stack_stub);
+ __ jmp(&stack_check_success);
+
+ __ bind(&done);
decrement_loop_depth();
}