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

Unified Diff: src/codegen-arm.cc

Issue 21404: Experimental: a couple more changes to the ARM port.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: Created 11 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/codegen-arm.cc
===================================================================
--- src/codegen-arm.cc (revision 1285)
+++ src/codegen-arm.cc (working copy)
@@ -1669,6 +1669,7 @@
void CodeGenerator::VisitForInStatement(ForInStatement* node) {
+ ASSERT(!in_spilled_code());
VirtualFrame::SpilledScope spilled_scope(this);
Comment cmnt(masm_, "[ ForInStatement");
CodeForStatementPosition(node);
@@ -1685,9 +1686,8 @@
JumpTarget primitive(this);
JumpTarget jsobject(this);
JumpTarget fixed_array(this);
- JumpTarget entry(this);
+ JumpTarget entry(this, JumpTarget::BIDIRECTIONAL);
JumpTarget end_del_check(this);
- JumpTarget cleanup(this);
JumpTarget exit(this);
// Get the object to enumerate over (converted to JSObject).
@@ -1779,7 +1779,7 @@
__ ldr(r0, frame_->ElementAt(0)); // load the current count
__ ldr(r1, frame_->ElementAt(1)); // load the length
__ cmp(r0, Operand(r1)); // compare to the array length
- cleanup.Branch(hs);
+ node->break_target()->Branch(hs);
__ ldr(r0, frame_->ElementAt(0));
@@ -1855,7 +1855,6 @@
entry.Jump();
// Cleanup.
- cleanup.Bind();
node->break_target()->Bind();
frame_->Drop(5);
@@ -2470,14 +2469,16 @@
void CodeGenerator::VisitCatchExtensionObject(CatchExtensionObject* node) {
+ ASSERT(!in_spilled_code());
VirtualFrame::SpilledScope spilled_scope(this);
// Call runtime routine to allocate the catch extension object and
// assign the exception value to the catch variable.
- Comment cmnt(masm_, "[CatchExtensionObject ");
+ Comment cmnt(masm_, "[ CatchExtensionObject");
LoadAndSpill(node->key());
LoadAndSpill(node->value());
- __ CallRuntime(Runtime::kCreateCatchExtensionObject, 2);
- frame_->EmitPush(r0);
+ Result result =
+ frame_->CallRuntime(Runtime::kCreateCatchExtensionObject, 2);
+ frame_->EmitPush(result.reg());
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698