Index: src/deoptimizer.cc |
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc |
index 3aa2f35862d20cc2151a8a9815089bd18ac43208..93839a49a80cab6c328e8f3b46ac94ace418ec86 100644 |
--- a/src/deoptimizer.cc |
+++ b/src/deoptimizer.cc |
@@ -288,7 +288,7 @@ int Deoptimizer::GetDeoptimizationId(Address addr, BailoutType type) { |
} |
ASSERT_EQ(0, |
static_cast<int>(addr - base->GetStartAddress()) % table_entry_size_); |
- return (addr - base->GetStartAddress()) / table_entry_size_; |
+ return static_cast<int>(addr - base->GetStartAddress()) / table_entry_size_; |
} |
@@ -405,7 +405,7 @@ void Deoptimizer::DoComputeOutputFrames() { |
PrintF("[deoptimizing: end 0x%08" V8PRIxPTR " ", |
reinterpret_cast<intptr_t>(function)); |
function->PrintName(); |
- PrintF(" => node=%u, pc=0x%08x, state=%s, took %0.3f ms]\n", |
+ PrintF(" => node=%u, pc=0x%08" V8PRIxPTR ", state=%s, took %0.3f ms]\n", |
node_id, |
output_[index]->GetPc(), |
FullCodeGenerator::State2String( |
@@ -475,13 +475,14 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
case Translation::REGISTER: { |
int input_reg = iterator->Next(); |
- uint32_t input_value = input_->GetRegister(input_reg); |
+ intptr_t input_value = input_->GetRegister(input_reg); |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- 0x%08x ; %s\n", |
- output_[frame_index]->GetTop() + output_offset, |
- output_offset, |
- input_value, |
- converter.NameOfCPURegister(input_reg)); |
+ PrintF( |
+ " 0x%08" V8PRIxPTR ": [top + %d] <- 0x%08" V8PRIxPTR " ; %s\n", |
+ output_[frame_index]->GetTop() + output_offset, |
+ output_offset, |
+ input_value, |
+ converter.NameOfCPURegister(input_reg)); |
} |
output_[frame_index]->SetFrameSlot(output_offset, input_value); |
return; |
@@ -489,25 +490,28 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
case Translation::INT32_REGISTER: { |
int input_reg = iterator->Next(); |
- uint32_t value = input_->GetRegister(input_reg); |
+ intptr_t value = input_->GetRegister(input_reg); |
bool is_smi = Smi::IsValid(value); |
unsigned output_index = output_offset / kPointerSize; |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- %d ; %s (%s)\n", |
- output_[frame_index]->GetTop() + output_offset, |
- output_offset, |
- value, |
- converter.NameOfCPURegister(input_reg), |
- is_smi ? "smi" : "heap number"); |
+ PrintF( |
+ " 0x%08" V8PRIxPTR ": [top + %d] <- %" V8PRIdPTR " ; %s (%s)\n", |
+ output_[frame_index]->GetTop() + output_offset, |
+ output_offset, |
+ value, |
+ converter.NameOfCPURegister(input_reg), |
+ is_smi ? "smi" : "heap number"); |
} |
if (is_smi) { |
intptr_t tagged_value = |
- reinterpret_cast<intptr_t>(Smi::FromInt(value)); |
+ reinterpret_cast<intptr_t>(Smi::FromInt(static_cast<int>(value))); |
output_[frame_index]->SetFrameSlot(output_offset, tagged_value); |
} else { |
// We save the untagged value on the side and store a GC-safe |
// temporary placeholder in the frame. |
- AddInteger32Value(frame_index, output_index, value); |
+ AddInteger32Value(frame_index, |
+ output_index, |
+ static_cast<int32_t>(value)); |
output_[frame_index]->SetFrameSlot(output_offset, kPlaceholder); |
} |
return; |
@@ -518,7 +522,7 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
double value = input_->GetDoubleRegister(input_reg); |
unsigned output_index = output_offset / kPointerSize; |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- %e ; %s\n", |
+ PrintF(" 0x%08" V8PRIxPTR ": [top + %d] <- %e ; %s\n", |
output_[frame_index]->GetTop() + output_offset, |
output_offset, |
value, |
@@ -535,10 +539,11 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
int input_slot_index = iterator->Next(); |
unsigned input_offset = |
input_->GetOffsetFromSlotIndex(this, input_slot_index); |
- uint32_t input_value = input_->GetFrameSlot(input_offset); |
+ intptr_t input_value = input_->GetFrameSlot(input_offset); |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- 0x%08x ; [esp + %d]\n", |
- output_[frame_index]->GetTop() + output_offset, |
+ PrintF(" 0x%08" V8PRIxPTR ": ", |
+ output_[frame_index]->GetTop() + output_offset); |
+ PrintF("[top + %d] <- 0x%08" V8PRIxPTR " ; [esp + %d]\n", |
output_offset, |
input_value, |
input_offset); |
@@ -551,12 +556,13 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
int input_slot_index = iterator->Next(); |
unsigned input_offset = |
input_->GetOffsetFromSlotIndex(this, input_slot_index); |
- int32_t value = input_->GetFrameSlot(input_offset); |
+ intptr_t value = input_->GetFrameSlot(input_offset); |
bool is_smi = Smi::IsValid(value); |
unsigned output_index = output_offset / kPointerSize; |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- %d ; [esp + %d] (%s)\n", |
- output_[frame_index]->GetTop() + output_offset, |
+ PrintF(" 0x%08" V8PRIxPTR ": ", |
+ output_[frame_index]->GetTop() + output_offset); |
+ PrintF("[top + %d] <- %" V8PRIdPTR " ; [esp + %d] (%s)\n", |
output_offset, |
value, |
input_offset, |
@@ -564,12 +570,14 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
} |
if (is_smi) { |
intptr_t tagged_value = |
- reinterpret_cast<intptr_t>(Smi::FromInt(value)); |
+ reinterpret_cast<intptr_t>(Smi::FromInt(static_cast<int>(value))); |
output_[frame_index]->SetFrameSlot(output_offset, tagged_value); |
} else { |
// We save the untagged value on the side and store a GC-safe |
// temporary placeholder in the frame. |
- AddInteger32Value(frame_index, output_index, value); |
+ AddInteger32Value(frame_index, |
+ output_index, |
+ static_cast<int32_t>(value)); |
output_[frame_index]->SetFrameSlot(output_offset, kPlaceholder); |
} |
return; |
@@ -582,7 +590,7 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
double value = input_->GetDoubleFrameSlot(input_offset); |
unsigned output_index = output_offset / kPointerSize; |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- %e ; [esp + %d]\n", |
+ PrintF(" 0x%08" V8PRIxPTR ": [top + %d] <- %e ; [esp + %d]\n", |
output_[frame_index]->GetTop() + output_offset, |
output_offset, |
value, |
@@ -598,7 +606,7 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
case Translation::LITERAL: { |
Object* literal = ComputeLiteral(iterator->Next()); |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- ", |
+ PrintF(" 0x%08" V8PRIxPTR ": [top + %d] <- ", |
output_[frame_index]->GetTop() + output_offset, |
output_offset); |
literal->ShortPrint(); |
@@ -614,7 +622,7 @@ void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator, |
// after the deoptimized frame is built. |
ASSERT(frame_index == 0); // Only supported for first frame. |
if (FLAG_trace_deopt) { |
- PrintF(" 0x%08x: [top + %d] <- ", |
+ PrintF(" 0x%08" V8PRIxPTR ": [top + %d] <- ", |
output_[frame_index]->GetTop() + output_offset, |
output_offset); |
Heap::the_hole_value()->ShortPrint(); |
@@ -635,7 +643,7 @@ bool Deoptimizer::DoOsrTranslateCommand(TranslationIterator* iterator, |
// The input values are all part of the unoptimized frame so they |
// are all tagged pointers. |
- uint32_t input_value = input_->GetFrameSlot(*input_offset); |
+ uintptr_t input_value = input_->GetFrameSlot(*input_offset); |
Object* input_object = reinterpret_cast<Object*>(input_value); |
Translation::Opcode opcode = |
@@ -655,7 +663,7 @@ bool Deoptimizer::DoOsrTranslateCommand(TranslationIterator* iterator, |
case Translation::REGISTER: { |
int output_reg = iterator->Next(); |
if (FLAG_trace_osr) { |
- PrintF(" %s <- 0x%08x ; [esp + %d]\n", |
+ PrintF(" %s <- 0x%08" V8PRIxPTR " ; [esp + %d]\n", |
converter.NameOfCPURegister(output_reg), |
input_value, |
*input_offset); |
@@ -712,7 +720,7 @@ bool Deoptimizer::DoOsrTranslateCommand(TranslationIterator* iterator, |
unsigned output_offset = |
output->GetOffsetFromSlotIndex(this, output_index); |
if (FLAG_trace_osr) { |
- PrintF(" [esp + %d] <- 0x%08x ; [esp + %d]\n", |
+ PrintF(" [esp + %d] <- 0x%08" V8PRIxPTR " ; [esp + %d]\n", |
output_offset, |
input_value, |
*input_offset); |
@@ -954,13 +962,13 @@ unsigned FrameDescription::GetOffsetFromSlotIndex(Deoptimizer* deoptimizer, |
if (slot_index >= 0) { |
// Local or spill slots. Skip the fixed part of the frame |
// including all arguments. |
- unsigned base = |
- GetFrameSize() - deoptimizer->ComputeFixedSize(GetFunction()); |
+ unsigned base = static_cast<unsigned>( |
+ GetFrameSize() - deoptimizer->ComputeFixedSize(GetFunction())); |
return base - ((slot_index + 1) * kPointerSize); |
} else { |
// Incoming parameter. |
- unsigned base = GetFrameSize() - |
- deoptimizer->ComputeIncomingArgumentSize(GetFunction()); |
+ unsigned base = static_cast<unsigned>(GetFrameSize() - |
+ deoptimizer->ComputeIncomingArgumentSize(GetFunction())); |
return base - ((slot_index + 1) * kPointerSize); |
} |
} |