Store compact cache indexes in bytecode instructions instead of raw pointers to the executable cache vectors. This keeps the instruction stream independent from heap addresses and removes pointer fixups when materializing cached bytecode. Resolve the mutable cache pointers at execution time from the current Executable. Bytecode test expectations are updated for the smaller cache operands and resulting instruction offsets.
74 lines
1.6 KiB
Text
74 lines
1.6 KiB
Text
$df07c6c2 function-decl-source-order.js:17:1
|
|
Registers: 14
|
|
Blocks: 1
|
|
Constants:
|
|
[0] = Undefined
|
|
|
|
block0:
|
|
[ 0] GetGlobal dst:reg6, `console`
|
|
[ 10] GetById dst:reg7, base:reg6, `log` (console.log)
|
|
[ 28] GetGlobal dst:reg9, `alpha`
|
|
[ 38] Call dst:reg8, callee:reg9, this_value:Undefined, alpha
|
|
[ 58] GetGlobal dst:reg10, `beta`
|
|
[ 68] Call dst:reg9, callee:reg10, this_value:Undefined, beta
|
|
[ 88] GetGlobal dst:reg11, `gamma`
|
|
[ 98] Call dst:reg10, callee:reg11, this_value:Undefined, gamma
|
|
[ b8] GetGlobal dst:reg12, `delta`
|
|
[ c8] Call dst:reg11, callee:reg12, this_value:Undefined, delta
|
|
[ e8] GetGlobal dst:reg13, `dup`
|
|
[ f8] Call dst:reg12, callee:reg13, this_value:Undefined, dup
|
|
[ 118] Call dst:reg5, callee:reg7, this_value:reg6, console.log, arguments:[reg8, reg9, reg10, reg11, reg12]
|
|
[ 150] End value:reg5
|
|
|
|
|
|
alpha$29e24060 function-decl-source-order.js:5:20
|
|
Registers: 5
|
|
Blocks: 1
|
|
Constants:
|
|
[0] = Int32(1)
|
|
|
|
block0:
|
|
[ 0] Return value:Int32(1)
|
|
|
|
|
|
beta$565e177b function-decl-source-order.js:7:19
|
|
Registers: 5
|
|
Blocks: 1
|
|
Constants:
|
|
[0] = Int32(2)
|
|
|
|
block0:
|
|
[ 0] Return value:Int32(2)
|
|
|
|
|
|
gamma$03071905 function-decl-source-order.js:11:20
|
|
Registers: 5
|
|
Blocks: 1
|
|
Constants:
|
|
[0] = Int32(3)
|
|
|
|
block0:
|
|
[ 0] Return value:Int32(3)
|
|
|
|
|
|
delta$3c1404ee function-decl-source-order.js:15:20
|
|
Registers: 5
|
|
Blocks: 1
|
|
Constants:
|
|
[0] = Int32(4)
|
|
|
|
block0:
|
|
[ 0] Return value:Int32(4)
|
|
|
|
|
|
dup$7c6f066b function-decl-source-order.js:13:18
|
|
Registers: 5
|
|
Blocks: 1
|
|
Constants:
|
|
[0] = String("second")
|
|
|
|
block0:
|
|
[ 0] Return value:String("second")
|
|
|
|
|
|
1 2 3 4 "second"
|