Revision: 5925
Author: [email protected]
Date: Tue Dec  7 03:53:19 2010
Log: Fix Win64 compilation.

Review URL: http://codereview.chromium.org/5597007
http://code.google.com/p/v8/source/detail?r=5925

Modified:
 /branches/bleeding_edge/src/atomicops_internals_x86_msvc.h
 /branches/bleeding_edge/src/deoptimizer.cc
 /branches/bleeding_edge/src/deoptimizer.h
 /branches/bleeding_edge/src/frames.cc
 /branches/bleeding_edge/src/hydrogen.cc
 /branches/bleeding_edge/src/ia32/deoptimizer-ia32.cc
 /branches/bleeding_edge/src/objects.cc
 /branches/bleeding_edge/src/runtime.cc
 /branches/bleeding_edge/src/type-info.cc

=======================================
--- /branches/bleeding_edge/src/atomicops_internals_x86_msvc.h Tue Dec 7 03:31:57 2010 +++ /branches/bleeding_edge/src/atomicops_internals_x86_msvc.h Tue Dec 7 03:53:19 2010
@@ -30,6 +30,7 @@
 #ifndef V8_ATOMICOPS_INTERNALS_X86_MSVC_H_
 #define V8_ATOMICOPS_INTERNALS_X86_MSVC_H_

+#include "checks.h"
 #include "win32-headers.h"

 namespace v8 {
=======================================
--- /branches/bleeding_edge/src/deoptimizer.cc  Tue Dec  7 03:31:57 2010
+++ /branches/bleeding_edge/src/deoptimizer.cc  Tue Dec  7 03:53:19 2010
@@ -288,7 +288,7 @@
   }
   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 @@
     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 @@

     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 @@

     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 @@
       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 @@
       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 @@
       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 @@
       }
       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 @@
       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 @@
     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 @@
       // 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 @@

   // 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 @@
      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 @@
       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 @@
   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);
   }
 }
=======================================
--- /branches/bleeding_edge/src/deoptimizer.h   Tue Dec  7 03:31:57 2010
+++ /branches/bleeding_edge/src/deoptimizer.h   Tue Dec  7 03:53:19 2010
@@ -293,13 +293,13 @@
     free(description);
   }

-  uint32_t GetFrameSize() const { return frame_size_; }
+  intptr_t GetFrameSize() const { return frame_size_; }

   JSFunction* GetFunction() const { return function_; }

unsigned GetOffsetFromSlotIndex(Deoptimizer* deoptimizer, int slot_index);

-  uint32_t GetFrameSlot(unsigned offset) {
+  intptr_t GetFrameSlot(unsigned offset) {
     return *GetFrameSlotPointer(offset);
   }

@@ -307,11 +307,11 @@
     return *reinterpret_cast<double*>(GetFrameSlotPointer(offset));
   }

-  void SetFrameSlot(unsigned offset, uint32_t value) {
+  void SetFrameSlot(unsigned offset, intptr_t value) {
     *GetFrameSlotPointer(offset) = value;
   }

-  uint32_t GetRegister(unsigned n) const {
+  intptr_t GetRegister(unsigned n) const {
     ASSERT(n < ARRAY_SIZE(registers_));
     return registers_[n];
   }
@@ -321,7 +321,7 @@
     return double_registers_[n];
   }

-  void SetRegister(unsigned n, uint32_t value) {
+  void SetRegister(unsigned n, intptr_t value) {
     ASSERT(n < ARRAY_SIZE(registers_));
     registers_[n] = value;
   }
@@ -331,19 +331,19 @@
     double_registers_[n] = value;
   }

-  uint32_t GetTop() const { return top_; }
-  void SetTop(uint32_t top) { top_ = top; }
-
-  uint32_t GetPc() const { return pc_; }
-  void SetPc(uint32_t pc) { pc_ = pc; }
-
-  uint32_t GetFp() const { return fp_; }
-  void SetFp(uint32_t fp) { fp_ = fp; }
+  intptr_t GetTop() const { return top_; }
+  void SetTop(intptr_t top) { top_ = top; }
+
+  intptr_t GetPc() const { return pc_; }
+  void SetPc(intptr_t pc) { pc_ = pc; }
+
+  intptr_t GetFp() const { return fp_; }
+  void SetFp(intptr_t fp) { fp_ = fp; }

   Smi* GetState() const { return state_; }
   void SetState(Smi* state) { state_ = state; }

-  void SetContinuation(uint32_t pc) { continuation_ = pc; }
+  void SetContinuation(intptr_t pc) { continuation_ = pc; }

   static int registers_offset() {
     return OFFSET_OF(FrameDescription, registers_);
@@ -376,22 +376,22 @@
  private:
   static const uint32_t kZapUint32 = 0xbeeddead;

-  uint32_t frame_size_;  // Number of bytes.
+  uintptr_t frame_size_;  // Number of bytes.
   JSFunction* function_;
-  uint32_t registers_[Register::kNumRegisters];
+  intptr_t registers_[Register::kNumRegisters];
   double double_registers_[DoubleRegister::kNumAllocatableRegisters];
-  uint32_t top_;
-  uint32_t pc_;
-  uint32_t fp_;
+  intptr_t top_;
+  intptr_t pc_;
+  intptr_t fp_;
   Smi* state_;

   // Continuation is the PC where the execution continues after
   // deoptimizing.
-  uint32_t continuation_;
-
-  uint32_t* GetFrameSlotPointer(unsigned offset) {
+  intptr_t continuation_;
+
+  intptr_t* GetFrameSlotPointer(unsigned offset) {
     ASSERT(offset < frame_size_);
-    return reinterpret_cast<uint32_t*>(
+    return reinterpret_cast<intptr_t*>(
         reinterpret_cast<Address>(this) + frame_content_offset() + offset);
   }
 };
=======================================
--- /branches/bleeding_edge/src/frames.cc       Tue Dec  7 03:31:57 2010
+++ /branches/bleeding_edge/src/frames.cc       Tue Dec  7 03:53:19 2010
@@ -655,7 +655,7 @@
 void JavaScriptFrame::Summarize(List<FrameSummary>* functions) {
   ASSERT(functions->length() == 0);
   Code* code_pointer = code();
-  int offset = pc() - code_pointer->address();
+  int offset = static_cast<int>(pc() - code_pointer->address());
   FrameSummary summary(receiver(),
                        JSFunction::cast(function()),
                        code_pointer,
@@ -779,7 +779,7 @@
   ASSERT(code->kind() == Code::OPTIMIZED_FUNCTION);

   SafepointTable table(code);
-  unsigned pc_offset = pc() - code->instruction_start();
+ unsigned pc_offset = static_cast<unsigned>(pc() - code->instruction_start());
   for (unsigned i = 0; i < table.length(); i++) {
     if (table.GetPcOffset(i) == pc_offset) {
       *deopt_index = table.GetDeoptimizationIndex(i);
=======================================
--- /branches/bleeding_edge/src/hydrogen.cc     Tue Dec  7 03:31:57 2010
+++ /branches/bleeding_edge/src/hydrogen.cc     Tue Dec  7 03:53:19 2010
@@ -1164,7 +1164,7 @@


 HValue* HValueMap::Lookup(HValue* value) const {
-  uint32_t hash = value->Hashcode();
+  uint32_t hash = static_cast<uint32_t>(value->Hashcode());
   uint32_t pos = Bound(hash);
   if (array_[pos].value != NULL) {
     if (array_[pos].value->Equals(value)) return array_[pos].value;
@@ -1252,7 +1252,7 @@
   if (count_ >= array_size_ >> 1) Resize(array_size_ << 1);
   ASSERT(count_ < array_size_);
   count_++;
-  uint32_t pos = Bound(value->Hashcode());
+  uint32_t pos = Bound(static_cast<uint32_t>(value->Hashcode()));
   if (array_[pos].value == NULL) {
     array_[pos].value = value;
     array_[pos].next = kNil;
=======================================
--- /branches/bleeding_edge/src/ia32/deoptimizer-ia32.cc Tue Dec 7 03:31:57 2010 +++ /branches/bleeding_edge/src/ia32/deoptimizer-ia32.cc Tue Dec 7 03:53:19 2010
@@ -352,7 +352,7 @@
   // function code and AST id of the bailout.
   output_offset -= kPointerSize;
   input_offset -= kPointerSize;
-  uint32_t value;
+  intptr_t value;
   if (is_bottommost) {
     value = input_->GetFrameSlot(input_offset);
   } else {
@@ -376,7 +376,7 @@
     value = output_[frame_index - 1]->GetFp();
   }
   output_frame->SetFrameSlot(output_offset, value);
-  unsigned fp_value = top_address + output_offset;
+  intptr_t fp_value = top_address + output_offset;
   ASSERT(!is_bottommost || input_->GetRegister(ebp.code()) == fp_value);
   output_frame->SetFp(fp_value);
   if (is_topmost) output_frame->SetRegister(ebp.code(), fp_value);
=======================================
--- /branches/bleeding_edge/src/objects.cc      Tue Dec  7 03:31:57 2010
+++ /branches/bleeding_edge/src/objects.cc      Tue Dec  7 03:53:19 2010
@@ -5967,7 +5967,7 @@

 uint8_t* Code::GetSafepointEntry(Address pc) {
   SafepointTable table(this);
-  unsigned pc_offset = pc - instruction_start();
+  unsigned pc_offset = static_cast<unsigned>(pc - instruction_start());
   for (unsigned i = 0; i < table.length(); i++) {
     // TODO(kasperl): Replace the linear search with binary search.
     if (table.GetPcOffset(i) == pc_offset) return table.GetEntry(i);
=======================================
--- /branches/bleeding_edge/src/runtime.cc      Tue Dec  7 03:31:57 2010
+++ /branches/bleeding_edge/src/runtime.cc      Tue Dec  7 03:53:19 2010
@@ -6865,7 +6865,7 @@
// Use linear search of the unoptimized code's stack check table to find
     // the AST id matching the PC.
     Address start = unoptimized->instruction_start();
-    unsigned target_pc_offset = frame->pc() - start;
+    unsigned target_pc_offset = static_cast<unsigned>(frame->pc() - start);
     Address table_cursor = start + unoptimized->stack_check_table_start();
     uint32_t table_length = Memory::uint32_at(table_cursor);
     table_cursor += kIntSize;
=======================================
--- /branches/bleeding_edge/src/type-info.cc    Tue Dec  7 03:31:57 2010
+++ /branches/bleeding_edge/src/type-info.cc    Tue Dec  7 03:53:19 2010
@@ -337,12 +337,13 @@
               target->check_type() != RECEIVER_MAP_CHECK) continue;
           if (state != MONOMORPHIC && state != MEGAMORPHIC) continue;
         }
-        code_positions->Add(info->pc() - code->instruction_start());
+        code_positions->Add(
+            static_cast<int>(info->pc() - code->instruction_start()));
         source_positions->Add(position);
       }
     } else {
       ASSERT(RelocInfo::IsPosition(mode));
-      position = info->data();
+      position = static_cast<int>(info->data());
     }
   }
 }

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to