Closed Bug 742034 Opened 12 years ago Closed 12 years ago

IonMonkey: Compile JSOP_THIS hard case

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: h4writer, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [ion:t])

According to AWFY we are still slower on SS 3d-cube. I reduced it to the following code:

function CreateP(X, Y, Z) {
    this.V = [X, Y, Z, 1];
}
function Init(CubeSize) {
    for (var i = 0; i < 320000; i++)
        CreateP(0, 0, 0);
}
Init()

IM: 768ms
JM+TI: 177ms
V8: 177ms

Haven't look into the cause yet.
The slowdown is because JSOP_THIS isn't supported in globalFrame yet. We bailout, so the function CreateP never gets compiled.
Summary: IonMonkey: slower on reduced SS 3d-cube benchmark → IonMonkey: Compile JSOP_THIS in a global frame
Blocks: 684381
Or I wasn't awake when I reported this, or there were some changes. Because now it bails in JSOP_THIS the hard case. (What is more understandable. I was already puzzled how this could hit global frame)

Even more reduced is the following testcase. Where the reason of performance loss is clearly the JSOP_THIS and not the array init.

function CreateP() {
    this.V = 1
}
function Init(CubeSize) {
    for (var i = 0; i < 320000; i++)
        CreateP();
}
Init()

JM+TI: 13ms
V8:    47ms
IM:    99ms
Summary: IonMonkey: Compile JSOP_THIS in a global frame → IonMonkey: Compile JSOP_THIS hard case
JM and IM now have the same performance
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.