Closed Bug 1009967 Opened 11 years ago Closed 11 years ago

IonMonkey: Implement BitXor Recover Instruction

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla32

People

(Reporter: nbp, Assigned: inanc.seylan)

References

(Blocks 1 open bug)

Details

(Whiteboard: [good first bug][mentor=nbp][lang=c++])

Attachments

(1 file, 1 obsolete file)

Implement RBitXor in js/src/jit/Recover.cpp. See Bug 1003801 comment 0 for explanation.
I would like to work on this bug; if it's ok.
Assignee: nobody → acimilan
Attached patch rbitxor.patch (obsolete) (deleted) — Splinter Review
An implementation of the recover code for BitXor and a test case.
Attachment #8422425 - Flags: review?(nicolas.b.pierron)
Comment on attachment 8422425 [details] [diff] [review] rbitxor.patch Review of attachment 8422425 [details] [diff] [review]: ----------------------------------------------------------------- This looks good, but … ::: js/src/jit-test/tests/ion/dce-with-rinstructions.js @@ +78,5 @@ > > for (i = 0; i < 100; i++) { > rbitnot_number(i); > rbitnot_object(i); > + rbitxor_number(i); Add an object test case, ::: js/src/jit/MIR.h @@ +3517,5 @@ > } > void computeRange(TempAllocator &alloc); > + > + bool writeRecoverData(CompactBufferWriter &writer) const; > + bool canRecoverOnBailout() const { return true; } And have a look at MBinaryBitwiseInstruction ;)
Attachment #8422425 - Flags: review?(nicolas.b.pierron) → feedback+
(In reply to Nicolas B. Pierron [:nbp] from comment #3) > Comment on attachment 8422425 [details] [diff] [review] > rbitxor.patch > > Add an object test case, Done. > > ::: js/src/jit/MIR.h > > And have a look at MBinaryBitwiseInstruction ;) Good point ;) Since I did not see any getAliasSet() method in MBitXor, my initial implementation returned true from canRecoverOnBailout().
Attachment #8422425 - Attachment is obsolete: true
Attached patch rbitxor.patch (deleted) — Splinter Review
Improvements to the previous version: 1. Test case for rbitxor_object. 2. A new canRecoverOnBailout() implementation for MBitXor so that it does not try to recover for objects.
Attachment #8422468 - Flags: review?(nicolas.b.pierron)
Comment on attachment 8422468 [details] [diff] [review] rbitxor.patch Review of attachment 8422468 [details] [diff] [review]: ----------------------------------------------------------------- Nice work :)
Attachment #8422468 - Flags: review?(nicolas.b.pierron) → review+
Attachment #8422468 - Flags: checkin+
If you want your patch to be landed, do not set checkin+, but checkin?. Otherwise we might think that the patch is already landed. Also once the patch has a r+ from all reviewers without any fix-up needed, then you can add the checkin-needed keyword.
Attachment #8422468 - Flags: checkin+
Keywords: checkin-needed
(In reply to Nicolas B. Pierron [:nbp] from comment #7) > If you want your patch to be landed, do not set checkin+, but checkin?. > Otherwise we might think that the patch is already landed. Also once the > patch has a r+ from all reviewers without any fix-up needed, then you can > add the checkin-needed keyword. Ok, thanks!
also thanks for contributing to mozilla!
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: