|Summary:||Remove JmpSrc/JmpDst types.|
|Product:||WebKit||Reporter:||Gavin Barraclough <barraclough>|
|Severity:||Normal||CC:||fu, talking1239, webkit.review.bot|
|Version:||528+ (Nightly build)|
|OS:||OS X 10.5|
Description Gavin Barraclough 2011-05-01 14:44:03 PDT
The JmpSrc/JmpDst classes predate the MacroAssembler interface. Having these object be per-assembler in unhelpful, causes unnecessary code duplication, and prevents the AssemblerBuffer from providing a richer type for labels. The limited semantic meaning that they did convey is undermined by the manner in which their meanings have been overloaded (use of JmpSrc for Call, JmpDst for data labels). Jumps on ARMv7 have had additional information added to the object via the ARMv7 JmpSrc. This data should probably be in the instruction stream. This patch does not fix the problem, and moves the data (ifdefed) to AbstractMacroAssembler::Jump (which is effectively where it was before!). This at least closes the hole such that no further data may be added to JmpSrc, but this is unfortunate, and should be cleaned up.
Comment 2 WebKit Review Bot 2011-05-01 14:48:00 PDT
Comment 3 Sam Weinig 2011-05-01 14:57:57 PDT
Comment on attachment 91847 [details] The patch Please add a comment about why 2^32-1 is enough.
Comment 5 Chao-ying Fu 2011-05-02 16:25:35 PDT
Comment 6 石梦军 2013-04-30 05:02:22 PDT
is exist some reason for using char* to replace void* in the getRelocatedAddress function of the sh4assembler.h file?