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

Unified Diff: src/virtual-frame-ia32.cc

Issue 18270: Experimental: switch back to using MacroAssembler::Set instead of... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: Created 11 years, 11 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 | « src/codegen-ia32.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/virtual-frame-ia32.cc
===================================================================
--- src/virtual-frame-ia32.cc (revision 1083)
+++ src/virtual-frame-ia32.cc (working copy)
@@ -196,7 +196,8 @@
// Write elements below the stack pointer to their (already allocated)
// actual frame location.
if (element.is_constant()) {
- __ mov(Operand(ebp, fp_relative(index)), Immediate(element.handle()));
+ ASSERT(!cgen_->has_cc());
+ __ Set(Operand(ebp, fp_relative(index)), Immediate(element.handle()));
} else {
ASSERT(element.is_register());
__ mov(Operand(ebp, fp_relative(index)), element.reg());
@@ -312,6 +313,7 @@
// We should always be merging the code generator's current frame to an
// expected frame.
ASSERT(cgen_->frame() == this);
+ ASSERT(!cgen_->has_cc());
ASSERT(cgen_->HasValidEntryRegisters());
// Remove constants from the frame and ensure that no registers are
@@ -367,7 +369,7 @@
ASSERT(!target.is_valid() || target.is_register() || target.is_memory());
if (target.is_register()) {
if (source.is_constant()) {
- __ mov(target.reg(), Immediate(source.handle()));
+ __ Set(target.reg(), Immediate(source.handle()));
} else if (source.is_register() && !source.reg().is(target.reg())) {
__ mov(target.reg(), source.reg());
}
@@ -393,6 +395,7 @@
// We should always be merging the code generator's current frame to an
// expected frame.
ASSERT(cgen_->frame() == this);
+ ASSERT(!cgen_->has_cc());
ASSERT(cgen_ == expected->cgen_);
ASSERT(masm_ == expected->masm_);
@@ -418,7 +421,6 @@
ASSERT(!elements_[i].is_synced());
}
#endif
- ASSERT(!cgen_->has_cc());
__ add(Operand(esp), Immediate(height_difference * kPointerSize));
stack_pointer_ = expected->stack_pointer_;
} else if (stack_pointer_ < expected->stack_pointer_) {
@@ -557,7 +559,6 @@
}
#endif
int difference = stack_pointer_ - i;
- ASSERT(!cgen_->has_cc());
__ add(Operand(esp), Immediate(difference * kPointerSize));
stack_pointer_ = i;
}
@@ -664,6 +665,7 @@
void VirtualFrame::AllocateStackSlots(int count) {
+ ASSERT(!cgen_->has_cc());
ASSERT(height() == 0);
local_count_ = count;
@@ -925,6 +927,7 @@
void VirtualFrame::Drop(int count) {
+ ASSERT(!cgen_->has_cc());
ASSERT(height() >= count);
int num_virtual_elements = (elements_.length() - 1) - stack_pointer_;
@@ -932,7 +935,6 @@
if (num_virtual_elements < count) {
int num_dropped = count - num_virtual_elements;
stack_pointer_ -= num_dropped;
- ASSERT(!cgen_->has_cc());
__ add(Operand(esp), Immediate(num_dropped * kPointerSize));
}
@@ -947,13 +949,13 @@
Result VirtualFrame::Pop() {
+ ASSERT(!cgen_->has_cc());
FrameElement popped = elements_.RemoveLast();
bool pop_needed = (stack_pointer_ == elements_.length());
if (popped.is_constant()) {
if (pop_needed) {
stack_pointer_--;
- ASSERT(!cgen_->has_cc());
__ add(Operand(esp), Immediate(kPointerSize));
}
return Result(popped.handle(), cgen_);
@@ -961,7 +963,6 @@
Unuse(popped.reg());
if (pop_needed) {
stack_pointer_--;
- ASSERT(!cgen_->has_cc());
__ add(Operand(esp), Immediate(kPointerSize));
}
return Result(popped.reg(), cgen_);
« no previous file with comments | « src/codegen-ia32.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698