Closed
Bug 1298334
Opened 9 years ago
Closed 9 years ago
IonMonkey: MIPS64: Refactor MacroAssembler::unboxInt32
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
RESOLVED
FIXED
mozilla51
| Tracking | Status | |
|---|---|---|
| firefox51 | --- | fixed |
People
(Reporter: hev, Assigned: hev)
Details
Attachments
(1 file)
|
1004 bytes,
patch
|
arai
:
review+
|
Details | Diff | Splinter Review |
Refactor MasmAssemblerMIPS64::unboxInt32 uses MIPS SLL instruction for MIPS64.
=== MIPS SLL Instruction ===
Format: SLL rd, rt, sa
Purpose: Shift Word Left Logical
To left-shift a word by a fixed number of bits
Description: GPR[rd] ← GPR[rt] << sa
The contents of the low-order 32-bit word of GPR rt are shifted left, inserting zeros into the emptied bits; the word
result is sign-extended and placed in GPR rd. The bit-shift amount is specified by sa.
Operation:
s ← sa
temp ← GPR[rt] (31-s)..0 || 0 s
GPR[rd] ← sign_extend(temp)
Programming Notes:
Unlike nearly all other word operations, the SLL input operand does not have to be a properly sign-extended word
value to produce a valid sign-extended 32-bit result. The result word is always sign-extended into a 64-bit destination
register; this instruction with a zero shift amount truncates a 64-bit value to 32 bits and sign-extends it.
SLL r0, r0, 0, expressed as NOP, is the assembly idiom used to denote no operation.
SLL r0, r0, 1, expressed as SSNOP, is the assembly idiom used to denote no operation that causes an issue break on
superscalar processors.
| Assignee | ||
Comment 1•9 years ago
|
||
Attachment #8785763 -
Flags: review?(arai.unmht)
Comment 2•9 years ago
|
||
Comment on attachment 8785763 [details] [diff] [review]
0001-Bug-1298334-IonMonkey-MIPS64-Refactor-MacroAssembler.patch
Review of attachment 8785763 [details] [diff] [review]:
-----------------------------------------------------------------
Thank you for the patch and spec :)
Attachment #8785763 -
Flags: review?(arai.unmht) → review+
Pushed by r@hev.cc:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0c9edb196d5c
IonMonkey: MIPS64: Refactor MacroAssembler::unboxInt32. r=arai
Comment 4•9 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox51:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in
before you can comment on or make changes to this bug.
Description
•