Revision: 3022
Author: [email protected]
Date: Tue Oct  6 06:59:56 2009
Log: Clean up fixups of calls to builtins.  Fix lint error.
Review URL: http://codereview.chromium.org/259057
http://code.google.com/p/v8/source/detail?r=3022

Modified:
  /branches/bleeding_edge/src/arm/macro-assembler-arm.cc
  /branches/bleeding_edge/src/bootstrapper.cc
  /branches/bleeding_edge/src/bootstrapper.h
  /branches/bleeding_edge/src/ia32/macro-assembler-ia32.cc
  /branches/bleeding_edge/src/serialize.cc
  /branches/bleeding_edge/src/x64/macro-assembler-x64.cc

=======================================
--- /branches/bleeding_edge/src/arm/macro-assembler-arm.cc      Fri Oct  2  
06:36:20 2009
+++ /branches/bleeding_edge/src/arm/macro-assembler-arm.cc      Tue Oct  6  
06:59:56 2009
@@ -1051,7 +1051,6 @@
      int argc = Builtins::GetArgumentsCount(id);
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
-        Bootstrapper::FixupFlagsIsPCRelative::encode(true) |
          Bootstrapper::FixupFlagsUseCodeObject::encode(false);
      Unresolved entry = { pc_offset() - kInstrSize, flags, name };
      unresolved_.Add(entry);
@@ -1069,7 +1068,6 @@
      int argc = Builtins::GetArgumentsCount(id);
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
-        Bootstrapper::FixupFlagsIsPCRelative::encode(true) |
          Bootstrapper::FixupFlagsUseCodeObject::encode(true);
      Unresolved entry = { pc_offset() - kInstrSize, flags, name };
      unresolved_.Add(entry);
=======================================
--- /branches/bleeding_edge/src/bootstrapper.cc Mon Sep 28 05:25:21 2009
+++ /branches/bleeding_edge/src/bootstrapper.cc Tue Oct  6 06:59:56 2009
@@ -201,20 +201,13 @@
      }
      Code* code = Code::cast(code_[i]);
      Address pc = code->instruction_start() + pc_[i];
-    bool is_pc_relative =  
Bootstrapper::FixupFlagsIsPCRelative::decode(flags);
+    RelocInfo target(pc, RelocInfo::CODE_TARGET, 0);
      bool use_code_object =  
Bootstrapper::FixupFlagsUseCodeObject::decode(flags);
-
      if (use_code_object) {
-      if (is_pc_relative) {
-        Assembler::set_target_address_at(
-            pc, reinterpret_cast<Address>(f->code()));
-      } else {
-        *reinterpret_cast<Object**>(pc) = f->code();
-      }
+      target.set_target_object(f->code());
      } else {
-      Assembler::set_target_address_at(pc, f->code()->instruction_start());
-    }
-
+      target.set_target_address(f->code()->instruction_start());
+    }
      LOG(StringEvent("resolved", name));
    }
    Clear();
=======================================
--- /branches/bleeding_edge/src/bootstrapper.h  Mon Sep 28 05:25:21 2009
+++ /branches/bleeding_edge/src/bootstrapper.h  Tue Oct  6 06:59:56 2009
@@ -66,9 +66,8 @@
    static bool IsActive();

    // Encoding/decoding support for fixup flags.
-  class FixupFlagsIsPCRelative: public BitField<bool, 0, 1> {};
-  class FixupFlagsUseCodeObject: public BitField<bool, 1, 1> {};
-  class FixupFlagsArgumentsCount: public BitField<uint32_t, 2, 32-2> {};
+  class FixupFlagsUseCodeObject: public BitField<bool, 0, 1> {};
+  class FixupFlagsArgumentsCount: public BitField<uint32_t, 1, 32-1> {};

    // Support for thread preemption.
    static int ArchiveSpacePerThread();
=======================================
--- /branches/bleeding_edge/src/ia32/macro-assembler-ia32.cc    Wed Sep 30  
02:24:46 2009
+++ /branches/bleeding_edge/src/ia32/macro-assembler-ia32.cc    Tue Oct  6  
06:59:56 2009
@@ -1049,7 +1049,6 @@
    if (!resolved) {
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
-        Bootstrapper::FixupFlagsIsPCRelative::encode(true) |
          Bootstrapper::FixupFlagsUseCodeObject::encode(false);
      Unresolved entry = { pc_offset() - sizeof(int32_t), flags, name };
      unresolved_.Add(entry);
@@ -1068,7 +1067,6 @@
    if (!resolved) {
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
-        Bootstrapper::FixupFlagsIsPCRelative::encode(false) |
          Bootstrapper::FixupFlagsUseCodeObject::encode(true);
      Unresolved entry = { pc_offset() - sizeof(int32_t), flags, name };
      unresolved_.Add(entry);
=======================================
--- /branches/bleeding_edge/src/serialize.cc    Tue Oct  6 06:11:05 2009
+++ /branches/bleeding_edge/src/serialize.cc    Tue Oct  6 06:59:56 2009
@@ -947,7 +947,7 @@
          static_cast<uint32_t>(reinterpret_cast<uintptr_t>(encoded_target));
      ASSERT(reinterpret_cast<uintptr_t>(encoded_target) == small_target);
      data_32_bit_.Add(small_target);
- }
+  }


    virtual void VisitExternalReferences(Address* start, Address* end) {
=======================================
--- /branches/bleeding_edge/src/x64/macro-assembler-x64.cc      Tue Oct  6  
06:11:05 2009
+++ /branches/bleeding_edge/src/x64/macro-assembler-x64.cc      Tue Oct  6  
06:59:56 2009
@@ -363,7 +363,6 @@
    if (!resolved) {
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
-        Bootstrapper::FixupFlagsIsPCRelative::encode(false) |
          Bootstrapper::FixupFlagsUseCodeObject::encode(true);
      Unresolved entry = { pc_offset() - sizeof(intptr_t), flags, name };
      unresolved_.Add(entry);
@@ -1556,7 +1555,6 @@
    if (!resolved) {
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
-        Bootstrapper::FixupFlagsIsPCRelative::encode(true) |
          Bootstrapper::FixupFlagsUseCodeObject::encode(false);
      Unresolved entry =
          { pc_offset() - kCallTargetAddressOffset, flags, name };

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

Reply via email to