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