Jelajahi Sumber

+ added another wasm fake register to represent local variable on the linear stack

git-svn-id: branches/wasm@47270 -
nickysn 4 tahun lalu
induk
melakukan
12aa8f0f1f

+ 1 - 0
compiler/wasm32/rwasmcon.inc

@@ -3,3 +3,4 @@ NR_NO = tregister($00000000);
 NR_R0 = tregister($01000000);
 NR_R1 = tregister($01000001);
 NR_R2 = tregister($01000002);
+NR_R3 = tregister($01000003);

+ 1 - 1
compiler/wasm32/rwasmnor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from wasmreg.dat }
-4
+5

+ 2 - 1
compiler/wasm32/rwasmnum.inc

@@ -2,4 +2,5 @@
 tregister($00000000),
 tregister($01000000),
 tregister($01000001),
-tregister($01000002)
+tregister($01000002),
+tregister($01000003)

+ 2 - 1
compiler/wasm32/rwasmrni.inc

@@ -2,4 +2,5 @@
 0,
 1,
 2,
-3
+3,
+4

+ 1 - 0
compiler/wasm32/rwasmsri.inc

@@ -2,4 +2,5 @@
 0,
 3,
 1,
+4,
 2

+ 2 - 1
compiler/wasm32/rwasmstd.inc

@@ -2,4 +2,5 @@
 'INVALID',
 'evalstacktopptr',
 'localsstackptr',
-'evalstacktop'
+'evalstacktop',
+'localframeptr'

+ 1 - 0
compiler/wasm32/rwasmsup.inc

@@ -3,3 +3,4 @@ RS_NO = $00;
 RS_R0 = $00;
 RS_R1 = $01;
 RS_R2 = $02;
+RS_R3 = $03;

+ 3 - 0
compiler/wasm32/wasmreg.dat

@@ -18,3 +18,6 @@ R0,$01,$00,$00,evalstacktopptr
 R1,$01,$00,$01,localsstackptr
 ; generic fake evaluation stack register for use by the register allocator
 R2,$01,$00,$02,evalstacktop
+; fake register, representing the local frame pointer. Used for accessing
+; address-taken local variables on the linear stack: (localframeptr+offset).
+R3,$01,$00,$03,localframeptr