Closed Bug 953256 Opened 10 years ago Closed 10 years ago

IonMonkey: Clean-up: Rename Folded MIR flag to HasImplicitUse

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla29

People

(Reporter: nbp, Assigned: nbp)

Details

Attachments

(1 file)

Initially, this flag was checked to skip instructions which were folded, GVN might add instructions which are unused in the block in which they are defined.  Later the semantic of this flag changed to mean that an instruction might be used implicitly, and thus that it cannot be tracked with the list of uses.

For example, arguments of inlined functions might be observed through fun.arguments, and thus we cannot simply replace arguments by undefined value, as they will be observed.
Attached patch bug953256.patchSplinter Review
Assignee: nobody → nicolas.b.pierron
Status: NEW → ASSIGNED
Attachment #8356049 - Flags: review?(jdemooij)
Comment on attachment 8356049 [details] [diff] [review]
bug953256.patch

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

::: js/src/jit/MIR.h
@@ +55,5 @@
>      _(Guard)         /* Not removable if uses == 0 */                           \
> +                                                                                \
> +    /* Keep the flagged instruction in resume points and do not substitute this
> +     * instruction by an UndefinedValue. This might be used by GVN when a use is
> +     * folded out of a basic block, or by call inlining when a function argument

As discussed on IRC, remove the GVN part.
Attachment #8356049 - Flags: review?(jdemooij) → review+
https://hg.mozilla.org/mozilla-central/rev/d7e2dbe78a8c
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
You need to log in before you can comment on or make changes to this bug.