From 562adac59fc18dd68a91e20453a92c532f496e9c Mon Sep 17 00:00:00 2001 From: "sgjesse@chromium.org" Date: Fri, 8 Jul 2011 09:08:12 +0000 Subject: [PATCH] Generate shorter instruction forms for constant in ia32 gap resolver. Review URL: http://codereview.chromium.org//7277084 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/ia32/lithium-gap-resolver-ia32.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ia32/lithium-gap-resolver-ia32.cc b/src/ia32/lithium-gap-resolver-ia32.cc index 9d91c61..fcf1f91 100644 --- a/src/ia32/lithium-gap-resolver-ia32.cc +++ b/src/ia32/lithium-gap-resolver-ia32.cc @@ -305,8 +305,13 @@ void LGapResolver::EmitMove(int index) { } else if (source->IsConstantOperand()) { ASSERT(destination->IsRegister() || destination->IsStackSlot()); Immediate src = cgen_->ToImmediate(source); - Operand dst = cgen_->ToOperand(destination); - __ mov(dst, src); + if (destination->IsRegister()) { + Register dst = cgen_->ToRegister(destination); + __ Set(dst, src); + } else { + Operand dst = cgen_->ToOperand(destination); + __ Set(dst, src); + } } else if (source->IsDoubleRegister()) { XMMRegister src = cgen_->ToDoubleRegister(source); -- 2.7.4