Closed Bug 1502106 Opened 3 years ago Closed 3 years ago

Add an option to disable assumeUnreachable / printf MacroAssembler code.

Categories

(Core :: JavaScript Engine: JIT, enhancement, P5)

enhancement

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: nbp, Assigned: nbp)

Details

Attachments

(1 file)

While using rr, I found it painful to have to walk over push & pop instructions, tracking registers, adding watch points.

Being able to disable the pushRegsInMask code added with all assumeUnreachable and masm.printf functions will help the rr experience.
Comment on attachment 9020074 [details] [diff] [review]
Add a configure option to disable assume_unreachable spew.

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

Looks good, aside from one minor nitpick.

::: js/moz.configure
@@ +371,5 @@
>  
> +# This option is worth disabling when you have to track mutated values through
> +# the generated code. When enabled, the generated code will contains tons of
> +# assumeUnreachable calls which are constantly dumping registers on and off the
> +# stack.

This comment reads backwards: it explains why you want to turn the option off before explaining what the option does. It might be clearer if you flipped it around:

"When enabled, masm will generate assumeUnreachable calls that act as assertions in the generated code. This option is worth disabling when you have to track mutated values through the generated code, to avoid constantly dumping registers on and off the stack."
Attachment #9020074 - Flags: review?(iireland) → review+
Pushed by npierron@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1bd322732a6e
Add a configure option to disable assume_unreachable spew. r=iain
https://hg.mozilla.org/mozilla-central/rev/1bd322732a6e
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.