Changeset 43481 in webkit for trunk/JavaScriptCore
- Timestamp:
- May 10, 2009, 11:06:30 PM (16 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r43479 r43481 1 2009-05-10 Maciej Stachowiak <[email protected]> 2 3 Reviewed by Geoff Garen. 4 5 - fixed REGRESSION(r43432): Many JavaScriptCore tests crash in 64-bit 6 https://bugs.webkit.org/show_bug.cgi?id=25680 7 8 Accound for the 64-bit instruction prefix when rewriting mov to lea on 64-bit. 9 10 * jit/JIT.h: 11 * jit/JITPropertyAccess.cpp: 12 (JSC::JIT::patchGetByIdSelf): 13 (JSC::JIT::patchPutByIdReplace): 14 1 15 2009-05-10 Darin Adler <[email protected]> 2 16 -
trunk/JavaScriptCore/jit/JIT.h
r43432 r43481 229 229 static const int patchOffsetPutByIdExternalLoad = 20; 230 230 static const int patchLengthPutByIdExternalLoad = 4; 231 static const int patchLengthPutByIdExternalLoadPrefix = 1; 231 232 static const int patchOffsetPutByIdPropertyMapOffset = 31; 232 233 // These architecture specific value are used to enable patching - see comment on op_get_by_id. … … 235 236 static const int patchOffsetGetByIdExternalLoad = 20; 236 237 static const int patchLengthGetByIdExternalLoad = 4; 238 static const int patchLengthGetByIdExternalLoadPrefix = 1; 237 239 static const int patchOffsetGetByIdPropertyMapOffset = 31; 238 240 static const int patchOffsetGetByIdPutResult = 31; … … 248 250 static const int patchOffsetPutByIdExternalLoad = 13; 249 251 static const int patchLengthPutByIdExternalLoad = 3; 252 static const int patchLengthPutByIdExternalLoadPrefix = 0; 250 253 static const int patchOffsetPutByIdPropertyMapOffset = 22; 251 254 // These architecture specific value are used to enable patching - see comment on op_get_by_id. … … 254 257 static const int patchOffsetGetByIdExternalLoad = 13; 255 258 static const int patchLengthGetByIdExternalLoad = 3; 259 static const int patchLengthGetByIdExternalLoadPrefix = 0; 256 260 static const int patchOffsetGetByIdPropertyMapOffset = 22; 257 261 static const int patchOffsetGetByIdPutResult = 22; -
trunk/JavaScriptCore/jit/JITPropertyAccess.cpp
r43432 r43481 331 331 // and makes the subsequent load's offset automatically correct 332 332 if (structure->isUsingInlineStorage()) 333 stubInfo->hotPathBegin.instructionAtOffset(patchOffsetGetByIdExternalLoad ).patchLoadToLEA();333 stubInfo->hotPathBegin.instructionAtOffset(patchOffsetGetByIdExternalLoad + patchLengthGetByIdExternalLoadPrefix).patchLoadToLEA(); 334 334 335 335 // Patch the offset into the propoerty map to load from, then patch the Structure to look for. … … 349 349 // and makes the subsequent load's offset automatically correct 350 350 if (structure->isUsingInlineStorage()) 351 stubInfo->hotPathBegin.instructionAtOffset(patchOffset GetByIdExternalLoad).patchLoadToLEA();351 stubInfo->hotPathBegin.instructionAtOffset(patchOffsetPutByIdExternalLoad + patchLengthPutByIdExternalLoadPrefix).patchLoadToLEA(); 352 352 353 353 // Patch the offset into the propoerty map to load from, then patch the Structure to look for.
Note:
See TracChangeset
for help on using the changeset viewer.