Commit Graph

61532 Commits

Author SHA1 Message Date
nickysn
67cea74ec6 + implemented twasmtypeconvnode.second_int_to_bool
git-svn-id: branches/wasm@48076 -
2021-01-05 07:50:05 +00:00
nickysn
af9cc646a9 * use regular loads instead of calling MOVE for 1,2,4 and 8-byte sized g_concatcopy
git-svn-id: branches/wasm@48075 -
2021-01-05 06:30:08 +00:00
nickysn
bdb972cec6 + support OP_NEG in thlcgwasm.a_op_stack
* improvements to OP_NOT in thlcgwasm.a_op_stack

git-svn-id: branches/wasm@48074 -
2021-01-05 06:28:07 +00:00
nickysn
020ce2b10c * use the standard inherited ret_in_param for wasm32
git-svn-id: branches/wasm@48073 -
2021-01-05 05:59:07 +00:00
nickysn
d9b76dc00f + implemented g_concatcopy via calling MOVE
git-svn-id: branches/wasm@48072 -
2021-01-05 05:53:51 +00:00
nickysn
d8aaa29cbc * synchronized with trunk
git-svn-id: branches/wasm@48071 -
2021-01-05 03:25:43 +00:00
florian
de36d6c049 + added newly used opcodes to avx_opcode_only_op0_may_be_memref
git-svn-id: trunk@48070 -
2021-01-04 21:54:36 +00:00
nickysn
28a7f25f4c * various fixes for tracking the stack and correctly loading the child node values to the stack, as well as setting the result location
git-svn-id: branches/wasm@48069 -
2021-01-04 18:11:32 +00:00
nickysn
1efcb800f5 + activate twasmaddnode.second_cmpboolean
git-svn-id: branches/wasm@48068 -
2021-01-04 17:31:40 +00:00
nickysn
531031c135 * converted tcgvecnode.update_reference_reg_mul to the high level code generator
git-svn-id: branches/wasm@48067 -
2021-01-04 17:19:18 +00:00
nickysn
e85e10a8f2 - don't override push_high_param for WASM, use the generic 'high' handling
git-svn-id: branches/wasm@48066 -
2021-01-04 16:56:22 +00:00
nickysn
29ee9a648d - more JVM cleanup
git-svn-id: branches/wasm@48065 -
2021-01-04 16:51:13 +00:00
nickysn
d7695db80e - don't override def2regtyp
git-svn-id: branches/wasm@48064 -
2021-01-04 16:49:15 +00:00
nickysn
e04c1221a2 - don't override thlcgwasm.gen_load_return_value
git-svn-id: branches/wasm@48063 -
2021-01-04 16:47:43 +00:00
nickysn
e7ce1feed0 - more JVM leftovers cleanup
git-svn-id: branches/wasm@48062 -
2021-01-04 16:45:32 +00:00
nickysn
1f3ff5f496 - clean up more JVM stuff
git-svn-id: branches/wasm@48061 -
2021-01-04 16:44:01 +00:00
nickysn
542c3fca3e - more JVM methods removed
git-svn-id: branches/wasm@48060 -
2021-01-04 16:42:04 +00:00
nickysn
db1a4d57a2 - removed some more unneeded for WASM methods, copied from the JVM hl codegen
git-svn-id: branches/wasm@48059 -
2021-01-04 16:37:33 +00:00
nickysn
5b961c4125 - removed several JVM methods that aren't necessary for WebAssembly
git-svn-id: branches/wasm@48058 -
2021-01-04 16:34:28 +00:00
nickysn
04c14500a7 + added math.inc and set.inc
git-svn-id: branches/wasm@48057 -
2021-01-04 15:37:16 +00:00
nickysn
97430823cf * fix for the stack tracking in twasmaddnode.second_addboolean
git-svn-id: branches/wasm@48056 -
2021-01-04 15:32:27 +00:00
nickysn
5677e7ed81 * fixed crash with ifs with an empty then clause
git-svn-id: branches/wasm@48055 -
2021-01-04 15:26:39 +00:00
nickysn
f95b74f929 * fixed stack tracking in thlcgwasm.a_op_reg_reg_reg_checkoverflow
git-svn-id: branches/wasm@48054 -
2021-01-04 15:02:00 +00:00
nickysn
92ac6bace9 * stack tracking fix for trunc32 in thlcgwasm.a_op_stack
git-svn-id: branches/wasm@48053 -
2021-01-04 15:00:05 +00:00
nickysn
b84bb3e9c4 * fixed stack tracking in thlcgwasm.resizestackfpuval
git-svn-id: branches/wasm@48052 -
2021-01-04 14:59:10 +00:00
nickysn
c6aecf184b * fixed stack tracking in thlcgwasm.gen_load_uninitialized_function_result
git-svn-id: branches/wasm@48051 -
2021-01-04 14:57:54 +00:00
nickysn
bdaeda27c2 * fixed stack tracking in thlcgwasm.a_loadfpu_const_stack
git-svn-id: branches/wasm@48050 -
2021-01-04 14:57:07 +00:00
nickysn
0e395a0d06 * handle addresses just like integers in thlcgwasm.a_load_const_stack
git-svn-id: branches/wasm@48049 -
2021-01-04 14:53:35 +00:00
nickysn
450883ea2b * fixed stack tracking for 64-bit operations in thlcgwasm.a_op_stack
git-svn-id: branches/wasm@48048 -
2021-01-04 14:51:44 +00:00
nickysn
5ea9bd6924 + uncommented the 64-bit handling code in the wasm add node
git-svn-id: branches/wasm@48047 -
2021-01-04 14:45:11 +00:00
nickysn
3719383b94 + added stack tracking in the entry and exit code
git-svn-id: branches/wasm@48046 -
2021-01-04 14:36:32 +00:00
nickysn
bcb5c140d1 * free a stack slot after br_if
git-svn-id: branches/wasm@48045 -
2021-01-04 14:08:22 +00:00
nickysn
2212bd5f3c * fixed the stack tracking in twasmaddnode.second_addboolean
git-svn-id: branches/wasm@48044 -
2021-01-04 13:58:47 +00:00
nickysn
bfe4d44aef * call decstack after if in twasmifnode.pass_generate_code to keep track of the stack balance correctly
git-svn-id: branches/wasm@48043 -
2021-01-04 13:53:26 +00:00
nickysn
d85e70bbb4 * fixed the decstack balancing in thlcgwasm.a_cmp_stack_stack
git-svn-id: branches/wasm@48042 -
2021-01-04 13:51:14 +00:00
nickysn
d7b1d67cc6 - removed commented out code from thlcgwasm.a_cmp_stack_stack
git-svn-id: branches/wasm@48041 -
2021-01-04 13:50:18 +00:00
nickysn
68693b2890 + support <,<=,> and >= comparisons of address register types in thlcgwasm.a_cmp_stack_stack
git-svn-id: branches/wasm@48040 -
2021-01-04 13:49:14 +00:00
nickysn
11ae8e54a1 - removed the unused label parameter from a_cmp_stack_stack
git-svn-id: branches/wasm@48039 -
2021-01-04 13:35:24 +00:00
nickysn
5145681ccd * a_cmp_stack_label renamed a_cmp_stack_stack
git-svn-id: branches/wasm@48038 -
2021-01-04 13:33:40 +00:00
nickysn
0a0ec1de65 + adjust the stack properly on function calls
git-svn-id: branches/wasm@48037 -
2021-01-04 13:08:58 +00:00
nickysn
f86665b97f * drop unused return values from the stack
git-svn-id: branches/wasm@48036 -
2021-01-04 12:44:11 +00:00
nickysn
0cdd7d4d22 + support exit()
git-svn-id: branches/wasm@48035 -
2021-01-04 12:17:50 +00:00
nickysn
c92d27dadb * fixed formatting in thlcgwasm.a_jmp_always
git-svn-id: branches/wasm@48034 -
2021-01-04 12:01:10 +00:00
nickysn
f40bfcc662 + also call incblock and decblock in the second_addboolean for the shortcut boolean evaluation. This avoids breaking
break and continue inside inlined functions, used in an expression.

git-svn-id: branches/wasm@48033 -
2021-01-04 11:58:47 +00:00
nickysn
aa102564c5 * fixed the break and continue br depth calculation
git-svn-id: branches/wasm@48032 -
2021-01-04 11:55:01 +00:00
nickysn
3cc9ba9302 - don't push dummy zeros (they are useless and will be discarded), before branching for break/continue
git-svn-id: branches/wasm@48031 -
2021-01-04 11:36:32 +00:00
nickysn
0a923963a9 * use the eqz instruction instead of "xor 1" in twasmwhilerepeatnode.pass_generate_code_condition for reversing the condition
git-svn-id: branches/wasm@48030 -
2021-01-04 11:24:02 +00:00
nickysn
0fae32d2b7 * simplified if-then-else code generation, since we now support void 'if' instructions
git-svn-id: branches/wasm@48029 -
2021-01-04 11:06:41 +00:00
nickysn
b6735179ed * use a functype operand for a_if, instead of hardcoding
git-svn-id: branches/wasm@48028 -
2021-01-04 11:01:18 +00:00
nickysn
07c1783e24 * refactored call_indirect to use a 'functype' operand type. This type will be reused for block instructions as well.
git-svn-id: branches/wasm@48027 -
2021-01-04 10:50:06 +00:00