Bug 27527 - Move call linking / repatching down from AbstractMacroAssembler into MacroAssemblerARCH classes.
Summary: Move call linking / repatching down from AbstractMacroAssembler into MacroAss...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Gavin Barraclough
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-21 19:50 PDT by Gavin Barraclough
Modified: 2009-07-21 20:24 PDT (History)
0 users

See Also:


Attachments
The patch (9.55 KB, patch)
2009-07-21 19:50 PDT, Gavin Barraclough
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gavin Barraclough 2009-07-21 19:50:05 PDT
This allows the implementation to be defined per architecture.  Specifically this addresses the fact that x86-64 MacroAssembler implements far calls as a load to register, followed by a call to register.  Patching the call actually requires the pointer load to be patched, rather than the call to be patched.  This is implementation detail specific to MacroAssemblerX86_64, and as such is best handled there.
Comment 1 Gavin Barraclough 2009-07-21 19:50:47 PDT
Created attachment 33236 [details]
The patch
Comment 2 Gavin Barraclough 2009-07-21 20:24:52 PDT
Sending        JavaScriptCore/ChangeLog
Sending        JavaScriptCore/assembler/AbstractMacroAssembler.h
Sending        JavaScriptCore/assembler/MacroAssemblerARM.h
Sending        JavaScriptCore/assembler/MacroAssemblerARMv7.h
Sending        JavaScriptCore/assembler/MacroAssemblerX86.h
Sending        JavaScriptCore/assembler/MacroAssemblerX86_64.h
Sending        JavaScriptCore/assembler/X86Assembler.h
Transmitting file data .......
Committed revision 46209.