Fix another x64 compilation error due to some dead code.

BUG=v8:1286
TEST=compile V8 with gcc-4.5.x

Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

Review URL: http://codereview.chromium.org/6771013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
whesse@chromium.org 2011-03-30 10:38:25 +00:00
parent 4e502c5e5a
commit 1e85630094

View File

@ -8276,17 +8276,9 @@ Result CodeGenerator::EmitNamedStore(Handle<String> name, bool is_contextual) {
result = allocator()->Allocate();
ASSERT(result.is_valid() && receiver.is_valid() && value.is_valid());
// Cannot use r12 for receiver, because that changes
// the distance between a call and a fixup location,
// due to a special encoding of r12 as r/m in a ModR/M byte.
if (receiver.reg().is(r12)) {
frame()->Spill(receiver.reg()); // It will be overwritten with result.
// Swap receiver and value.
__ movq(result.reg(), receiver.reg());
Result temp = receiver;
receiver = result;
result = temp;
}
// r12 is now a reserved register, so it cannot be the receiver.
// If it was, the distance to the fixup location would not be constant.
ASSERT(!receiver.reg().is(r12));
// Check that the receiver is a heap object.
Condition is_smi = masm()->CheckSmi(receiver.reg());