Closed Bug 1028556 Opened 7 years ago Closed 7 years ago

IonMonkey: Implement Pow Recover Instruction

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: layus, Assigned: layus, Mentored)

References

(Blocks 1 open bug)

Details

Attachments

(2 files, 1 obsolete file)

Implement RFromCharCode in js/src/jit/Recover.cpp.
See Bug 1003801 comment 0 for explanation.
Assignee: nobody → layus.on
Blocks: 1003801
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Attached patch Implement pow recover (obsolete) — Splinter Review
One question : is js_math_pow_value a good name ?

Apart from that, the patch seems ready.
Attachment #8444041 - Flags: feedback?(nicolas.b.pierron)
Comment on attachment 8444041 [details] [diff] [review]
Implement pow recover

Review of attachment 8444041 [details] [diff] [review]:
-----------------------------------------------------------------

This looks good :)
Fix the following and it would be good.

::: js/src/jsmath.cpp
@@ +662,5 @@
>  #if defined(_MSC_VER)
>  # pragma optimize("g", off)
>  #endif
>  bool
> +js_math_pow_value(JSContext *cx, HandleValue base, HandleValue power, MutableHandleValue result)

nit: s/js_math_pow_value/js_math_pow_handle/

@@ +682,5 @@
>  js_math_pow(JSContext *cx, unsigned argc, Value *vp)
>  {
>      CallArgs args = CallArgsFromVp(argc, vp);
>  
> +    return js_math_pow_value(cx, args.get(0), args.get(1), args.rval());

args.get(0) --> args[0]
args.get(1) --> args[1]
Attachment #8444041 - Flags: feedback?(nicolas.b.pierron) → feedback+
Fixed according to comments.
Attachment #8444041 - Attachment is obsolete: true
Attachment #8444056 - Flags: review?(nicolas.b.pierron)
Comment on attachment 8444056 [details] [diff] [review]
dce-recover-pow.patch

Review of attachment 8444056 [details] [diff] [review]:
-----------------------------------------------------------------

Great :)
I will land this patch with others. ;)
Attachment #8444056 - Flags: review?(nicolas.b.pierron) → review+
This patch is based upon Attachment 8444095 [details] [diff] for Bug 1028662 (Recover PowHalf).
It will not conflict if merged on top of that one.
Attachment #8444096 - Flags: review?(nicolas.b.pierron)
Attachment #8444096 - Flags: review?(nicolas.b.pierron) → review+
Comment on attachment 8444056 [details] [diff] [review]
dce-recover-pow.patch

Review of attachment 8444056 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/jsmath.cpp
@@ +682,5 @@
>  js_math_pow(JSContext *cx, unsigned argc, Value *vp)
>  {
>      CallArgs args = CallArgsFromVp(argc, vp);
>  
> +    return js_math_pow_handle(cx, args[0], args[1], args.rval());

My bad, the test failure is caused by the replacement that I suggested as .get(0) is used to replace the handle by an handle on undefined when we do not have enough arguments.

I will fix it in your patch ;)
https://hg.mozilla.org/integration/mozilla-inbound/rev/5bf08ded7426

I've landed your patch as part of the contribution of others.  You will find the result of it on our continuous integration system (tbpl) [1].  Later a Sheriff will take the patches and merge into mozilla-central.


[1] https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=ec5b6129445b
Add leave-open whiteboard tag as the second part is not yet landed.

https://tbpl.mozilla.org/?tree=Try&rev=d4210b4a8702
Whiteboard: [leave-open]
As far as I understand, comment 11 means that the second patch has landed in mozilla-central, so this issue is fixed.

I am allowed to edit the whiteboard, but I can not find where to mark the issue as fixed.
"Status : RESOLVED" offers options INVALID, WONTFIX, DUPLICATE, WORKSFORME and INCOMPLETE.
Do I need to wipe the [leave-open] to see a FIXED option ?
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Flags: needinfo?(nicolas.b.pierron)
Resolution: --- → INVALID
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Status: REOPENED → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 7 years ago7 years ago
Flags: needinfo?(nicolas.b.pierron)
Resolution: --- → FIXED
(In reply to Guillaume Maudoux from comment #12)
> Do I need to wipe the [leave-open] to see a FIXED option ?

No, you need additional permissions in your bugzilla account. After having contributed a bit more you can ask on IRC to be given "editbugs permissions".
Whiteboard: [leave-open]
Target Milestone: --- → mozilla33
You need to log in before you can comment on or make changes to this bug.