IonMonkey: Cannot compile functions with JSOP_THIS using OSR.

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: sstangl, Assigned: dvander)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

6 years ago
Created attachment 590924 [details]
Test case.

IonBuilder::jsop_this() fails compilation if thisParam is not of type Object, but in the case of OSR, the parameter is a Value-typed MPhi. This hurts us on several benchmarks, notably access-nbody.
Created attachment 592355 [details] [diff] [review]
fix

The problem is that we don't type phis until type analysis - more evidence that, even when it's safe, we shouldn't rely on MIR types during building. This is a quick fix that I think is correct: just query the initial type from TI.

(This brings our kraken-ai-astar score from 14000ms to 263, close to crankshaft - more work needed to get to -m -n speed.)
Assignee: sstangl → dvander
Status: NEW → ASSIGNED
Attachment #592355 - Flags: review?(jdemooij)

Updated

6 years ago
Attachment #592355 - Flags: review?(jdemooij) → review+
http://hg.mozilla.org/projects/ionmonkey/rev/b61f059b9db3
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.