Closed Bug 1188079 Opened 9 years ago Closed 3 years ago

Optimize return types for JSOP_POW

Categories

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

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: efaust, Assigned: anba)

References

(Blocks 1 open bug)

Details

Attachments

(4 obsolete files)

In bug 1135708, we added support for the exponentiation operator. At present, we don't attach BC stubs, or try to optimize the return type of the generated ion Instructions to MIRType_Int32.
Blocks: sm-js-perf
Priority: -- → P5
Depends on: 1564942
Assignee: nobody → andrebargull
Status: NEW → ASSIGNED

Two branch conditions were inverted to generate fewer jump instructions in the loop body.

There were too few registers available on x86, so the code tries to reuse the output
operand's type register in addition to its payload register.

Depends on D39046

Depends on D39047

Depends on D39048

Attachment #9080070 - Attachment description: Bug 1188079 - Part 1: Add `pow32` to the MacroAssembler to allow reusing it for CacheIR. → Bug 1188079 - Part 1: Add `pow32` to the MacroAssembler to allow reusing it for CacheIR. r=jandem!
Attachment #9080071 - Attachment description: Bug 1188079 - Part 2: Add JSOP_POW support to CacheIR. → Bug 1188079 - Part 2: Add JSOP_POW support to CacheIR. r=jandem!
Attachment #9080072 - Attachment description: Bug 1188079 - Part 3: Add Int32 specialisation for JSOP_POW to Ion. → Bug 1188079 - Part 3: Add Int32 specialisation for JSOP_POW to Ion. r=jandem!
Attachment #9080073 - Attachment description: Bug 1188079 - Part 4: Add Ion IC support for JSOP_POW. → Bug 1188079 - Part 4: Add Ion IC support for JSOP_POW. r=jandem!

Comment on attachment 9080070 [details]
Bug 1188079 - Part 1: Add pow32 to the MacroAssembler to allow reusing it for CacheIR. r=jandem!

Revision D39046 was moved to bug 1620997. Setting attachment 9080070 [details] to obsolete.

Attachment #9080070 - Attachment is obsolete: true

Comment on attachment 9080071 [details]
Bug 1188079 - Part 2: Add JSOP_POW support to CacheIR. r=jandem!

Revision D39047 was moved to bug 1620997. Setting attachment 9080071 [details] to obsolete.

Attachment #9080071 - Attachment is obsolete: true

Comment on attachment 9080073 [details]
Bug 1188079 - Part 4: Add Ion IC support for JSOP_POW. r=jandem!

Revision D39049 was moved to bug 1620997. Setting attachment 9080073 [details] to obsolete.

Attachment #9080073 - Attachment is obsolete: true
Attachment #9080072 - Attachment description: Bug 1188079 - Part 3: Add Int32 specialisation for JSOP_POW to Ion. r=jandem! → Bug 1188079: Add Int32 specialisation for JSOp::Pow to Ion. r=jandem!

This was fixed across multiple bugs.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Attachment #9080072 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: