Fix Windows build.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10578039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
yangguo@chromium.org 2012-06-20 14:22:32 +00:00
parent e4f4aad2d1
commit 41113d7301
2 changed files with 5 additions and 5 deletions

View File

@ -1083,9 +1083,9 @@ void LCodeGen::DoMathFloorOfDiv(LMathFloorOfDiv* instr) {
static_cast<double>(static_cast<uint64_t>(1) << shift) / divisor_abs; static_cast<double>(static_cast<uint64_t>(1) << shift) / divisor_abs;
int64_t multiplier; int64_t multiplier;
if (multiplier_f - floor(multiplier_f) < 0.5) { if (multiplier_f - floor(multiplier_f) < 0.5) {
multiplier = floor(multiplier_f); multiplier = static_cast<int64_t>(floor(multiplier_f));
} else { } else {
multiplier = floor(multiplier_f) + 1; multiplier = static_cast<int64_t>(floor(multiplier_f)) + 1;
} }
// The multiplier is a uint32. // The multiplier is a uint32.
ASSERT(multiplier > 0 && ASSERT(multiplier > 0 &&
@ -1096,7 +1096,7 @@ void LCodeGen::DoMathFloorOfDiv(LMathFloorOfDiv* instr) {
__ test(dividend, dividend); __ test(dividend, dividend);
DeoptimizeIf(zero, instr->environment()); DeoptimizeIf(zero, instr->environment());
} }
__ mov(edx, multiplier); __ mov(edx, static_cast<int32_t>(multiplier));
__ imul(edx); __ imul(edx);
if (static_cast<int32_t>(multiplier) < 0) { if (static_cast<int32_t>(multiplier) < 0) {
__ add(edx, scratch); __ add(edx, scratch);

View File

@ -945,9 +945,9 @@ void LCodeGen::DoMathFloorOfDiv(LMathFloorOfDiv* instr) {
static_cast<double>(static_cast<uint64_t>(1) << shift) / divisor_abs; static_cast<double>(static_cast<uint64_t>(1) << shift) / divisor_abs;
int64_t multiplier; int64_t multiplier;
if (multiplier_f - floor(multiplier_f) < 0.5) { if (multiplier_f - floor(multiplier_f) < 0.5) {
multiplier = floor(multiplier_f); multiplier = static_cast<int64_t>(floor(multiplier_f));
} else { } else {
multiplier = floor(multiplier_f) + 1; multiplier = static_cast<int64_t>(floor(multiplier_f)) + 1;
} }
// The multiplier is a uint32. // The multiplier is a uint32.
ASSERT(multiplier > 0 && ASSERT(multiplier > 0 &&