Closed Bug 475899 Opened 16 years ago Closed 15 years ago

Constant-folded ternary leaves behind inefficient call bytecode

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
minor

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jruderman, Unassigned)

Details

(Keywords: testcase)

js> f = function(a) { (false ? a : a)(); }
function (a) {
    a();
}

js> dis(f)
flags: LAMBDA INTERPRETED
main:
00000:  getarg 0
00003:  nullthis
00004:  call 0
00007:  pop
00008:  stop

js> dis(eval(uneval(f)))
flags: LAMBDA INTERPRETED
main:
00000:  callarg 0
00003:  call 0
00006:  pop
00007:  stop
WFM.  I get the more efficient bytecode "callarg" the first time now.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.