Summary: | x32 support of JavaScriptCore | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Yuqiang Xian <yuqiang.xian> | ||||||||
Component: | JavaScriptCore | Assignee: | Yuqiang Xian <yuqiang.xian> | ||||||||
Status: | NEW --- | ||||||||||
Severity: | Normal | CC: | barraclough, fpizlo, gnome, hausmann | ||||||||
Priority: | P2 | ||||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Bug Depends on: | 101325, 99154, 100321, 100450 | ||||||||||
Bug Blocks: | |||||||||||
Attachments: |
|
Description
Yuqiang Xian
2012-10-12 02:20:25 PDT
The first step is to refactor the MacroAssembler interfaces, especially to differentiate the operations on pointers from the operations on 64-bit integers (e.g., the JSValues), as on x32 the pointer size is 4 bytes. Bug #99154 is created for the refactoring work. Created attachment 168387 [details] [future] patch This is the "future" patch to add the x32 support - assuming that the refactoring work in bug #99154 is taken in. (thus cannot be applied without the 99154 patch.) I pasted it here just for you to have a rough idea what it may look like if we want to add the x32 support. The LLInt is not supported yet. While it's on the plan. Created attachment 169623 [details]
x32 jit patch
*Not* asking for a detailed review.
Uploading mainly for back-up purpose.
Created attachment 169626 [details] x32 LLInt patch For back-up purpose now. Add the x32 backend for the low level interpreter. It now together with the JITs pass all the javascriptcore tests and major benchmarks on x32. We may need more efforts on the CLoop backend. We may need to split the patch as what we've done for the x32 support of the JIT compilers (bug #99154), i.e., one (or more) for general offlineasm and LLInt refactoring, and another one for x32 *specific* change. Bug #100321 is created for the LLInt64 refactoring work. Adding the dependency. Comment on attachment 169623 [details] x32 jit patch obsolete this patch. The correct one is in bug #100450. Comment on attachment 169626 [details] x32 LLInt patch obsolete this patch. The correct one is in bug #101325. |