Closed Bug 532240 Opened 16 years ago Closed 14 years ago

implement NJ_EXPANDED_LOADSTORE_SUPPORTED for x64 backend

Categories

(Core Graveyard :: Nanojit, defect)

x86_64
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Future

People

(Reporter: stejohns, Assigned: stejohns)

References

Details

(Whiteboard: fixed-in-nanojit fixed-in-tamarin, fixed-in-tracemonkey)

Attachments

(1 file, 1 obsolete file)

18.55 KB, patch
edwsmith
: review+
n.nethercote
: review+
Details | Diff | Splinter Review
No description provided.
Attached patch Patch (obsolete) — Splinter Review
Initial implementation.
Assignee: nobody → stejohns
Attachment #416667 - Flags: review?(edwsmith)
Attachment #416667 - Flags: review?(nnethercote)
Comment on attachment 416667 [details] [diff] [review] Patch >@@ -438,6 +443,8 @@ >+ void Assembler::CVTSS2SD(R l, R r) { emitprr(X64_cvtss2sd,l,r); asm_output("cvtss2sd %s, %s",RQ(l),RL(r)); } >+ void Assembler::CVTSD2SS(R l, R r) { emitprr(X64_cvtsd2ss,l,r); asm_output("cvtsd2ss %s, %s",RQ(l),RL(r)); } I think the RQ/RL calls should be reversed in the second one. >+ void Assembler::MOVBMR(R r1, I d, R r2) { emitrm8(X64_movbmr,r1,d,r2); asm_output("movb %d(%s), %s",d,RQ(r1),RL(r2)); } >+ void Assembler::MOVSMR(R r1, I d, R r2) { emitrm_wide(X64_movsmr,r1,d,r2); asm_output("movs %d(%s), %s",d,RQ(r1),RL(r2)); } For the first one, RL(r2) should be RB(r2), I think. And we need to add RS() for the second one. It's probably worth re-checking all the other RQ/RL calls for similar problems. With those fixed, r=me.
Attachment #416667 - Flags: review?(nnethercote) → review+
Comment on attachment 416667 [details] [diff] [review] Patch buggy, new patch coming soon
Attachment #416667 - Attachment is obsolete: true
Attachment #416667 - Flags: review?(edwsmith)
Attached patch Patch #2Splinter Review
Improved (functional) patch.
Attachment #416813 - Flags: review?(edwsmith)
Attachment #416813 - Flags: review?(nnethercote)
Depends on: 533854
Attachment #416813 - Flags: review?(edwsmith) → review+
pushed to nj-c as changeset: 1106:cd0b46495c95
pushed to tr as changeset: 3309:61d155d042c7
Whiteboard: fixed-in-nanojit fixed-in-tamarin, fixed-in-tracemonkey
Pretty sure that this has been pushed to all relevant repos, shall we close it?
Nick, since this is (pretty much) closed out, shall I remove your outstanding r?
Comment on attachment 416813 [details] [diff] [review] Patch #2 Sorry, missed that. Fixed now.
Attachment #416813 - Flags: review?(nnethercote) → review+
Component: JIT Compiler (NanoJIT) → Nanojit
Product: Tamarin → Core
QA Contact: nanojit → nanojit
Target Milestone: --- → Future
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: