0x01513bfe in ?? () 1: x/i $pc 0x1513bfe: mov eax,ecx 1: x/i $pc 0x1513c00: and eax,0x7 1: x/i $pc 0x1513c03: cmp eax,0x2 1: x/i $pc 0x1513c06: sete dl 1: x/i $pc 0x1513c09: movzx edx,dl This looks like code to check JSVAL_IS_DOUBLE. It seems like we could do much better. It's even worse when LIR_or is involved.
1: x/i $pc 0x1513c0c: mov eax,ecx 1: x/i $pc 0x1513c0e: and eax,0x1 1: x/i $pc 0x1513c11: or eax,edx 1: x/i $pc 0x1513c13: test eax,eax 1: x/i $pc 0x1513c15: je 0x1523c34
Where in TM is this code generated? Re comment 0: the movzx seems unnecessary, ie. the sete could just generate into edx directly, no?. Can you see other ways to improve it?
Yeah, we shouldn't or the result, just emit branches. I have a patch in my queue. I will also work on the lir inlining this week. BoxInt() is lame in general. It should be all lir to save the call overhead.
Obsolete with the removal of tracejit.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.