Closed Bug 1258105 Opened 8 years ago Closed 8 years ago

Port object length stubs to CacheIR

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
firefox48 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Attached patch Patch (obsolete) — Splinter Review
This ports the Baseline stubs for .length on arrays, unboxed arrays, and arguments objects to CacheIR.
Attachment #8732512 - Flags: review?(efaustbmo)
Attached patch PatchSplinter Review
Attachment #8732512 - Attachment is obsolete: true
Attachment #8732512 - Flags: review?(efaustbmo)
Attachment #8732515 - Flags: review?(efaustbmo)
Comment on attachment 8732515 [details] [diff] [review]
Patch

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

Looks good.

::: js/src/jit/CacheIR.h
@@ +119,5 @@
>  };
>  
> +// We use this enum as GuardClass operand, instead of storing Class* pointers
> +// in the IR, to keep the IR compact and the same size on all platforms.
> +enum class GuardClassKind

Hmm, the same size on all platforms is a little compelling. This works for builtin classes, but will fail in the face of "make sure this has the same class as", without big switches both ways. I guess we can add that if we need it, later.
Attachment #8732515 - Flags: review?(efaustbmo) → review+
(In reply to Eric Faust [:efaust] from comment #2)
> This works for
> builtin classes, but will fail in the face of "make sure this has the same
> class as", without big switches both ways. I guess we can add that if we
> need it, later.

Yup, once we need to store arbitrary Class pointers, we can add a new op or change this.
Blocks: CacheIR
No longer blocks: 1255352
https://hg.mozilla.org/mozilla-central/rev/a9851bf7034a
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
You need to log in before you can comment on or make changes to this bug.