Reviewers: Lasse Reichstein,

Description:
Fix an X64 problem with builtin fixups.  Remove an assert from fixups
that is no longer true on all platforms.

Please review this at http://codereview.chromium.org/149332

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/bootstrapper.cc
   M     src/x64/macro-assembler-x64.cc


Index: src/bootstrapper.cc
===================================================================
--- src/bootstrapper.cc (revision 2395)
+++ src/bootstrapper.cc (working copy)
@@ -134,7 +134,7 @@
  }


-// Pending fixups are code positions that have refer to builtin code
+// Pending fixups are code positions that refer to builtin code
  // objects that were not available at the time the code was generated.
  // The pending list is processed whenever an environment has been
  // created.
@@ -216,7 +216,6 @@
          *reinterpret_cast<Object**>(pc) = f->code();
        }
      } else {
-      ASSERT(is_pc_relative);
        Assembler::set_target_address_at(pc, f->code()->instruction_start());
      }

Index: src/x64/macro-assembler-x64.cc
===================================================================
--- src/x64/macro-assembler-x64.cc      (revision 2395)
+++ src/x64/macro-assembler-x64.cc      (working copy)
@@ -176,7 +176,7 @@
    const char* name = Builtins::GetName(id);
    int argc = Builtins::GetArgumentsCount(id);

-  movq(target, code, RelocInfo::EXTERNAL_REFERENCE);  // Is external  
reference?
+  movq(target, code, RelocInfo::EMBEDDED_OBJECT);
    if (!resolved) {
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
@@ -624,7 +624,7 @@
    if (!resolved) {
      uint32_t flags =
          Bootstrapper::FixupFlagsArgumentsCount::encode(argc) |
-        Bootstrapper::FixupFlagsIsPCRelative::encode(true) |
+        Bootstrapper::FixupFlagsIsPCRelative::encode(false) |
          Bootstrapper::FixupFlagsUseCodeObject::encode(false);
      Unresolved entry =
          { pc_offset() - kTargetAddrToReturnAddrDist, flags, name };



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

Reply via email to