Changeset 44476 in webkit for trunk/JavaScriptCore/jit/JIT.h


Ignore:
Timestamp:
Jun 5, 2009, 5:08:00 PM (16 years ago)
Author:
[email protected]
Message:

2009-06-05 Gavin Barraclough <[email protected]>

Reviewed by Sam Weinig.

Remove patchLength..tByIdExternalLoadPrefix magic numbers from JIT.h.

These aren't really suitable values to be tracking within common code
of the JIT, since they are not (and realistically cannot) be checked
by ASSERTs, as the other repatch offsets are. Move this functionality
(skipping the REX prefix when patching load instructions to LEAs on
x86-64) into the X86Assembler.

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::CodeLocationInstruction::repatchLoadPtrToLEA):
  • assembler/X86Assembler.h: (JSC::X86Assembler::repatchLoadPtrToLEA):
  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp: (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/jit/JIT.h

    r44455 r44476  
    243243        static const int patchOffsetPutByIdExternalLoad = 20;
    244244        static const int patchLengthPutByIdExternalLoad = 4;
    245         static const int patchLengthPutByIdExternalLoadPrefix = 1;
    246245        static const int patchOffsetPutByIdPropertyMapOffset = 31;
    247246        // These architecture specific value are used to enable patching - see comment on op_get_by_id.
     
    250249        static const int patchOffsetGetByIdExternalLoad = 20;
    251250        static const int patchLengthGetByIdExternalLoad = 4;
    252         static const int patchLengthGetByIdExternalLoadPrefix = 1;
    253251        static const int patchOffsetGetByIdPropertyMapOffset = 31;
    254252        static const int patchOffsetGetByIdPutResult = 31;
     
    268266        static const int patchOffsetPutByIdExternalLoad = 13;
    269267        static const int patchLengthPutByIdExternalLoad = 3;
    270         static const int patchLengthPutByIdExternalLoadPrefix = 0;
    271268        static const int patchOffsetPutByIdPropertyMapOffset = 22;
    272269        // These architecture specific value are used to enable patching - see comment on op_get_by_id.
     
    275272        static const int patchOffsetGetByIdExternalLoad = 13;
    276273        static const int patchLengthGetByIdExternalLoad = 3;
    277         static const int patchLengthGetByIdExternalLoadPrefix = 0;
    278274        static const int patchOffsetGetByIdPropertyMapOffset = 22;
    279275        static const int patchOffsetGetByIdPutResult = 22;
Note: See TracChangeset for help on using the changeset viewer.