Alon Zakai
|
af14b70855
|
assert on global var loads being ints in the python driver
|
2014-09-26 13:48:03 -07:00 |
Alon Zakai
|
8aa101d8ee
|
do not convert dynCall stubs
|
2014-09-26 13:32:12 -07:00 |
Alon Zakai
|
9211dd506c
|
labeled switches
|
2014-09-26 12:51:45 -07:00 |
Alon Zakai
|
da11ec0641
|
LOADU8,16
|
2014-09-26 12:45:16 -07:00 |
Alon Zakai
|
68fd338f15
|
do not emit a branch at the end of a case statement, if there isn't a break then we should fall through
|
2014-09-26 11:40:00 -07:00 |
Alon Zakai
|
da2f582f7b
|
SETGLBI
|
2014-09-26 11:22:42 -07:00 |
Alon Zakai
|
89fc3f430e
|
notice type hint in calls, even if told to drop the output
|
2014-09-25 21:54:44 -07:00 |
Alon Zakai
|
06059af5f6
|
add nan
|
2014-09-25 21:16:41 -07:00 |
Alon Zakai
|
fddbdf93d8
|
do not emit 32-bit unsigned values using SETVD; for doubles, we only handle signed there
|
2014-09-25 21:08:42 -07:00 |
Alon Zakai
|
1fafb0037a
|
save a copy of the pre-emterpreter code if in debug mode
|
2014-09-25 20:33:04 -07:00 |
Alon Zakai
|
14517287aa
|
handle boolean not in detectSign, and fix switch on default value
|
2014-09-25 17:49:16 -07:00 |
Alon Zakai
|
bbe7506fb9
|
fix bad call of getReg
|
2014-09-25 16:06:12 -07:00 |
Alon Zakai
|
90257ca793
|
use proper type of SET in conditional
|
2014-09-25 16:04:12 -07:00 |
Alon Zakai
|
e320d63dd8
|
add generic global access inst
|
2014-09-25 14:41:05 -07:00 |
Alon Zakai
|
23951a3e38
|
emit negative zeros
|
2014-09-25 14:15:37 -07:00 |
Alon Zakai
|
ba71f1fd78
|
int/double fixes
|
2014-09-25 13:35:42 -07:00 |
Dan Gohman
|
a0eea413fc
|
Asm.js validation for SIMD
|
2014-09-25 13:22:46 -07:00 |
Alon Zakai
|
2bbfbf24ca
|
mixed signed/unsigned is flexible
|
2014-09-24 21:55:45 -07:00 |
Alon Zakai
|
6555e40b18
|
SETTR0
|
2014-09-24 21:54:09 -07:00 |
Alon Zakai
|
5e8f1a049d
|
SETVDD
|
2014-09-24 21:49:06 -07:00 |
Alon Zakai
|
b69a91aff8
|
do not try to find the type of a coerced call, it never needs an extra coercion
|
2014-09-24 21:40:49 -07:00 |
Alon Zakai
|
a20d95e832
|
tolerate flexible signs in comparisons
|
2014-09-24 21:38:44 -07:00 |
Alon Zakai
|
216fbb5e86
|
GETTR0
|
2014-09-24 21:34:33 -07:00 |
Alon Zakai
|
8aff4b3772
|
fix register handling bug in store
|
2014-09-24 18:26:41 -07:00 |
Alon Zakai
|
8615b671dd
|
coerce int to float when needed
|
2014-09-24 17:44:14 -07:00 |
Alon Zakai
|
deb8644700
|
add type to heap parsing, and use it to add a coercion on stores when needed
|
2014-09-24 17:16:36 -07:00 |
Alon Zakai
|
750de1fa12
|
final fixes and hacks to get box2d to compile
|
2014-09-24 15:16:32 -07:00 |
Alon Zakai
|
17187f34b8
|
name handling improvements
|
2014-09-24 15:02:32 -07:00 |
Alon Zakai
|
45aba1a7d7
|
note inf as double
|
2014-09-24 14:00:01 -07:00 |
Alon Zakai
|
db77ff8139
|
detect sign of comparisons
|
2014-09-24 13:51:49 -07:00 |
Alon Zakai
|
694f74f465
|
improve binary type detection on +,-
|
2014-09-24 13:50:32 -07:00 |
Alon Zakai
|
37a60cbb42
|
detect sub type
|
2014-09-24 13:46:34 -07:00 |
Alon Zakai
|
348820373c
|
detectAsmCoercion => detectType
|
2014-09-24 13:38:21 -07:00 |
Alon Zakai
|
29c43378b2
|
start to make detectAsmCoercion precise
|
2014-09-24 13:36:23 -07:00 |
Alon Zakai
|
b37877484e
|
detect unary - type
|
2014-09-24 13:24:04 -07:00 |
Alon Zakai
|
4db1c5097d
|
detect sign of seq, and assume sign is ok on +(exp)
|
2014-09-24 13:17:07 -07:00 |
Alon Zakai
|
89b24f0b71
|
enable binary ops in unary +
|
2014-09-24 13:10:26 -07:00 |
Alon Zakai
|
6206512d08
|
fix GED
|
2014-09-24 13:08:02 -07:00 |
Alon Zakai
|
67c9eeae12
|
NEGD
|
2014-09-24 13:06:30 -07:00 |
Alon Zakai
|
7357d4e2e5
|
SETVDF
|
2014-09-24 13:04:19 -07:00 |
Alon Zakai
|
fe19da8270
|
more unary + cases
|
2014-09-24 12:55:19 -07:00 |
Alon Zakai
|
d1ad322704
|
stop passing global funcs unnecessarily into js optimizer
|
2014-09-24 12:07:19 -07:00 |
Alon Zakai
|
40d5699461
|
SETVDI
|
2014-09-24 11:49:37 -07:00 |
Alon Zakai
|
90338a7dcd
|
do not track eliminatable variables from inside a switch to outside
|
2014-09-24 11:12:34 -07:00 |
Alon Zakai
|
a5a2aaf830
|
fix verifyCode
|
2014-09-23 20:54:48 -07:00 |
Alon Zakai
|
3393da2fab
|
small compiler optimization
|
2014-09-23 19:21:09 -07:00 |
Alon Zakai
|
a435b25f17
|
disable code verification by default
|
2014-09-23 19:14:11 -07:00 |
Alon Zakai
|
28a872b7b3
|
optimize more arrays
|
2014-09-23 18:15:34 -07:00 |
Alon Zakai
|
70eeb13682
|
optimize some arrays
|
2014-09-23 18:02:13 -07:00 |
Alon Zakai
|
28f7bcf944
|
relax switch assert
|
2014-09-23 17:16:02 -07:00 |
Alon Zakai
|
14aa4d9a7b
|
remove heavy assert output
|
2014-09-23 17:12:11 -07:00 |
Alon Zakai
|
ae74db5940
|
disable most debug output
|
2014-09-23 17:06:38 -07:00 |
Alon Zakai
|
fe57b74e5e
|
refactor detectSign and add conditional detection
|
2014-09-23 17:01:32 -07:00 |
Alon Zakai
|
18efa9c723
|
let type detection be driven by ints
|
2014-09-23 16:59:07 -07:00 |
Alon Zakai
|
3ebe79cc0f
|
fix unary + sign detection
|
2014-09-23 16:56:18 -07:00 |
Alon Zakai
|
0990d783a9
|
detect ~ as signed
|
2014-09-23 16:55:15 -07:00 |
Alon Zakai
|
d88eebfbd0
|
BNOT
|
2014-09-23 16:53:28 -07:00 |
Alon Zakai
|
ae30209fcc
|
clean up parseTempHeap usage
|
2014-09-23 16:39:27 -07:00 |
Alon Zakai
|
da9be3f501
|
fix bug with forEach extra params
|
2014-09-23 16:13:54 -07:00 |
Alon Zakai
|
1455957bd4
|
support for function pointer calls
|
2014-09-23 16:06:29 -07:00 |
Alon Zakai
|
982394591f
|
relax restriction on float load/store size
|
2014-09-23 14:05:31 -07:00 |
Alon Zakai
|
4b67400af6
|
detect +,- without coercion as double ops
|
2014-09-23 14:02:40 -07:00 |
Alon Zakai
|
bb1e867c8f
|
detectSign of uncoerced *,/ as non-signed
|
2014-09-23 13:58:50 -07:00 |
Alon Zakai
|
7275d4737d
|
improve detectAsmCoercion and add *,/ detection
|
2014-09-23 13:55:29 -07:00 |
Alon Zakai
|
4f2880876a
|
load/store of floats
|
2014-09-23 13:48:44 -07:00 |
Alon Zakai
|
f0901ad9b4
|
refactor load and improve store, so both now handle consts
|
2014-09-23 13:28:52 -07:00 |
Alon Zakai
|
2f54c8c699
|
refactor parseHeap, and start to use in emterpreter sub
|
2014-09-23 13:05:50 -07:00 |
Alon Zakai
|
65d253e69b
|
I2D and I/D fixes
|
2014-09-23 12:00:17 -07:00 |
Alon Zakai
|
14d5cdae3c
|
D2I and SETVD
|
2014-09-23 11:06:58 -07:00 |
Alon Zakai
|
6a44d21ae2
|
double ops
|
2014-09-22 21:48:14 -07:00 |
Alon Zakai
|
c72872399e
|
add unary+ to detectSign
|
2014-09-22 21:29:41 -07:00 |
Alon Zakai
|
4878f915f5
|
SETD, and fix for assigning to a param
|
2014-09-22 21:28:02 -07:00 |
Alon Zakai
|
2ff7d1702c
|
SETVIB, and make SETVI signed
|
2014-09-22 21:00:10 -07:00 |
Alon Zakai
|
2574cfec6b
|
detectSign improvements
|
2014-09-22 18:12:35 -07:00 |
Alon Zakai
|
3c1e9ac7a9
|
use hint more strongly in getCombinedSign
|
2014-09-22 18:11:30 -07:00 |
Alon Zakai
|
5038e9c979
|
LNOT
|
2014-09-22 18:08:06 -07:00 |
Alon Zakai
|
412eaa4337
|
SMOD, UMOD
|
2014-09-22 18:02:20 -07:00 |
Alon Zakai
|
8b88d1d274
|
fix jump table emitting
|
2014-09-22 17:07:28 -07:00 |
Alon Zakai
|
50a88cc708
|
absolute target fixes
|
2014-09-22 16:55:52 -07:00 |
Alon Zakai
|
7840fc3eac
|
fix register leak in makeDo
|
2014-09-22 16:42:44 -07:00 |
Alon Zakai
|
590970664a
|
tolerate flexible signs when possible
|
2014-09-22 16:28:59 -07:00 |
Alon Zakai
|
50c0e6f245
|
block
|
2014-09-22 16:25:34 -07:00 |
Alon Zakai
|
b9d4958222
|
initial switch support
|
2014-09-22 16:23:19 -07:00 |
Alon Zakai
|
56209dd54e
|
disable assert
|
2014-09-22 14:19:43 -07:00 |
Alon Zakai
|
57d69b14a9
|
optimize do-while(0)
|
2014-09-22 13:37:12 -07:00 |
Alon Zakai
|
2eec4f918f
|
optimize while(1)
|
2014-09-22 13:26:59 -07:00 |
Alon Zakai
|
74e8dc504f
|
coerce function calls to asm functions even if return value is ignored, enable passing fannkuch test
|
2014-09-21 21:19:06 -07:00 |
Alon Zakai
|
9d9cf5ee3c
|
add missing branch in while
|
2014-09-21 19:39:51 -07:00 |
Alon Zakai
|
8bc2a6b2f3
|
fix binary bug
|
2014-09-21 19:09:05 -07:00 |
Alon Zakai
|
22f04a5760
|
blacklist autodebug funcs, and add tempDoublePtr getter
|
2014-09-21 18:16:13 -07:00 |
Alon Zakai
|
8c900f3dce
|
make detectAsmCoercion not see unary - as double
|
2014-09-21 17:59:12 -07:00 |
Alon Zakai
|
27689dd82f
|
number params before vars
|
2014-09-21 16:30:17 -07:00 |
Alon Zakai
|
3575bd9af0
|
MUL
|
2014-09-21 16:14:43 -07:00 |
Alon Zakai
|
e294b9817c
|
asserts and call fixes
|
2014-09-21 15:06:42 -07:00 |
Alon Zakai
|
1d680307b7
|
seq
|
2014-09-21 14:48:53 -07:00 |
Alon Zakai
|
03d7d242fd
|
break, continue
|
2014-09-21 11:59:10 -07:00 |
Alon Zakai
|
88fa764671
|
conditional
|
2014-09-21 11:49:53 -07:00 |
Alon Zakai
|
490bc6c5c1
|
labels
|
2014-09-21 10:46:44 -07:00 |
Alon Zakai
|
8d3a036a9f
|
refactor do, while
|
2014-09-21 10:44:52 -07:00 |
Alon Zakai
|
b2aab86a63
|
todo
|
2014-09-21 10:37:24 -07:00 |
Alon Zakai
|
eed085f0d9
|
unary - sign detection
|
2014-09-21 10:24:21 -07:00 |
Alon Zakai
|
d833b65a8e
|
unary -
|
2014-09-21 10:20:57 -07:00 |
Alon Zakai
|
fc2303b7ad
|
be more flexible in type detection, using hinting
|
2014-09-21 10:15:10 -07:00 |
Alon Zakai
|
b9398a0973
|
NE
|
2014-09-21 10:11:20 -07:00 |
Alon Zakai
|
591c87a6d2
|
more sign detection
|
2014-09-21 10:08:46 -07:00 |
Alon Zakai
|
ec4d8668d0
|
fix shifts
|
2014-09-20 21:54:17 -07:00 |
Alon Zakai
|
04d82b8a85
|
OR, XOR
|
2014-09-20 21:53:01 -07:00 |
Alon Zakai
|
90c6e6c0cc
|
shifts
|
2014-09-20 21:51:01 -07:00 |
Alon Zakai
|
18a8e2356d
|
SLE, ULE
|
2014-09-20 21:45:19 -07:00 |
Alon Zakai
|
c5a07ca39f
|
sub
|
2014-09-20 21:35:50 -07:00 |
Alon Zakai
|
e4d46803b7
|
while
|
2014-09-20 21:33:01 -07:00 |
Alon Zakai
|
985fca2ca3
|
AND
|
2014-09-20 21:09:07 -07:00 |
Alon Zakai
|
547ccce4de
|
EQ
|
2014-09-20 20:44:23 -07:00 |
Alon Zakai
|
0241e20569
|
fix walkStatements on a singleton
|
2014-09-20 20:39:38 -07:00 |
Alon Zakai
|
02dccd063e
|
add int >=
|
2014-09-20 20:35:03 -07:00 |
Alon Zakai
|
90b56ad7ec
|
BR and BRF
|
2014-09-20 20:30:08 -07:00 |
Alon Zakai
|
a386df46f7
|
fix non-void calls; loop test passes
|
2014-09-20 18:04:57 -07:00 |
Alon Zakai
|
4a789e4104
|
fix free local releasing bug
|
2014-09-20 17:57:56 -07:00 |
Alon Zakai
|
bf8655a199
|
jump fix
|
2014-09-20 17:02:44 -07:00 |
Alon Zakai
|
d8248b9028
|
call generalizations
|
2014-09-20 16:51:54 -07:00 |
Alon Zakai
|
73e149401c
|
add output to CALL
|
2014-09-20 16:43:02 -07:00 |
Alon Zakai
|
d419b23e05
|
rename SETI
|
2014-09-20 16:23:37 -07:00 |
Alon Zakai
|
5b0f8798a0
|
sign and type forwarding
|
2014-09-20 16:05:10 -07:00 |
Alon Zakai
|
86788c0f1b
|
do-while fixes
|
2014-09-20 15:56:14 -07:00 |
Alon Zakai
|
7c83f7f538
|
notice unsigned coercions
|
2014-09-20 15:48:12 -07:00 |
Alon Zakai
|
bba2f17c31
|
refactoring simplification
|
2014-09-20 15:46:43 -07:00 |
Alon Zakai
|
34bbf01b49
|
improve sign handling
|
2014-09-20 15:34:23 -07:00 |
Alon Zakai
|
637047c158
|
less than
|
2014-09-20 15:30:48 -07:00 |
Alon Zakai
|
ac0c73d9b9
|
add sign detection
|
2014-09-20 15:17:57 -07:00 |
Alon Zakai
|
fa196fbe00
|
fix load
|
2014-09-20 13:58:24 -07:00 |
Alon Zakai
|
29bed1a37f
|
let python turn strings into opcodes
|
2014-09-20 13:57:22 -07:00 |
Alon Zakai
|
67791d6b1b
|
store8, 16
|
2014-09-20 13:48:53 -07:00 |
Alon Zakai
|
1f41682986
|
load
|
2014-09-20 13:47:10 -07:00 |
Alon Zakai
|
039b65bfe2
|
div
|
2014-09-20 13:32:51 -07:00 |
Alon Zakai
|
2549dc5a36
|
more math
|
2014-09-20 12:56:53 -07:00 |
Alon Zakai
|
588cfebf0d
|
start to handle control flow, and some refactoring
|
2014-09-20 12:40:07 -07:00 |
Alon Zakai
|
4d78a14500
|
store32
|
2014-09-19 16:56:33 -07:00 |
Alon Zakai
|
04fab79992
|
code cleanup
|
2014-09-19 16:32:45 -07:00 |
Alon Zakai
|
dc7a77ee47
|
use GETST to get the value of STACKTOP when in a free name
|
2014-09-19 16:25:40 -07:00 |
Alon Zakai
|
c88767b33b
|
add opcode, and utilities to reuse free locals efficiently
|
2014-09-19 16:23:45 -07:00 |
Alon Zakai
|
1cdd9b2155
|
add breaking test
|
2014-09-19 16:01:48 -07:00 |
Alon Zakai
|
719991755e
|
unify getReg and walk
|
2014-09-19 15:54:07 -07:00 |
Alon Zakai
|
b5ae09fd87
|
update heap resizing code to latest proposal
|
2014-09-19 11:22:04 -07:00 |
Alon Zakai
|
32c5743cca
|
implement call; hello world passes
|
2014-09-18 16:57:31 -07:00 |
Alon Zakai
|
06bc0e1dea
|
start to implement emterpreters
|
2014-09-18 15:43:42 -07:00 |
Alon Zakai
|
0c280acdf1
|
start to process call sigs
|
2014-09-18 15:02:28 -07:00 |
Alon Zakai
|
a88f6ca716
|
move opcodes into python
|
2014-09-18 14:51:50 -07:00 |
Alon Zakai
|
f8e4153396
|
emit target and signature from calls
|
2014-09-18 14:45:25 -07:00 |
Alon Zakai
|
b1c1966069
|
don't emit final unnecessary ret
|
2014-09-17 21:16:21 -07:00 |
Alon Zakai
|
a0e048f92f
|
list callable globals
|
2014-09-17 21:14:02 -07:00 |