[webkit-dev] Unnecessary instructions in bytecode

Gabor Loki loki at inf.u-szeged.hu
Fri May 23 04:50:15 PDT 2008


Hi,

I have noticed some strange loads in the bytecode (rev34071).
They look like unnecessary.

Here it is a simple js:

  var a, b;
  a = 5;
  b = a * a + a;

And the bytecode output was with 'testkjs -d -f 1.js':

9 instructions; 224 bytes at 0x69ca30; 2 locals (0 parameters); 2 temporaries

[   0] load		 lr6, undefined(@k0)		
[   3] load		 lr7, undefined(@k0)		
[   6] load		 tr0, undefined(@k0)		
[   9] load		 lr6, 5(@k1)		
[  12] mov		 tr0, lr6
[  15] mul		 tr1, lr6, lr6
[  19] add		 lr7, tr1, lr6
[  23] mov		 tr0, lr7
[  26] end		 tr0

Constants:
   k0 = undefined
   k1 = 5

End: 30


These instructions are unnecessary, aren't they?
Or is there a technical explanation of them?



--Gabor



More information about the webkit-dev mailing list