nickysn
|
aa102564c5
* fixed the break and continue br depth calculation
|
4 years ago |
nickysn
|
3cc9ba9302
- don't push dummy zeros (they are useless and will be discarded), before branching for break/continue
|
4 years ago |
nickysn
|
07c1783e24
* refactored call_indirect to use a 'functype' operand type. This type will be reused for block instructions as well.
|
4 years ago |
nickysn
|
ade8003fb5
* thlcgwasm.blocks renamed br_blocks, to ensure searching for it in the compiler
|
4 years ago |
nickysn
|
5524de3be8
- removed redundant comment
|
4 years ago |
nickysn
|
5c4e4228f6
+ handle all cases in hlcgcpu.pas to avoid warning with -Sew
|
4 years ago |
nickysn
|
fc95e7f22d
* fixes in thlcgwasm.resize_stack_int_val
|
4 years ago |
nickysn
|
189c4025c2
- removed spurious decstack/incstack in thlcgwasm.resize_stack_int_val
|
4 years ago |
nickysn
|
0e23b9288c
* fixed thlcgwasm.a_load_loc_stack for LOC_REFERENCE
|
4 years ago |
nickysn
|
5a2a9f1dcc
* simplified a_call_name and avoid internal errors, inherited from the jvm code generator
|
4 years ago |
nickysn
|
35489718f3
* fixed call_indirect for the llvm-mc asm writer
|
4 years ago |
nickysn
|
56f65799d3
+ functype creation moved to tcpuprocdef.create_functype
|
4 years ago |
nickysn
|
763ca253c1
+ introduced the TWasmFuncType class - used to hold a Wasm function signature
|
4 years ago |
nickysn
|
64a02834ff
- commented out thlcgwasm.g_copyvalueparas
|
4 years ago |
nickysn
|
91ed9f12ac
- removed unused local var from thlcgwasm.prepare_stack_for_ref
|
4 years ago |
nickysn
|
c470e851ba
+ generic implementation of thlcgwasm.a_loadaddr_ref_reg that should handle all possible combinations of base, index
|
4 years ago |
nickysn
|
e4f4f25c44
+ handle any base and no index in the second if case in thlcgwasm.a_loadaddr_ref_reg
|
4 years ago |
nickysn
|
2084fede95
+ handle all constant address (regardless of whether they are relative to a symbol or not) in thlcgwasm.a_loadaddr_ref_reg
|
4 years ago |
nickysn
|
ded9afb787
+ check and generate an internal error if you attempt to take the address of a reference that exists in the local
|
4 years ago |
nickysn
|
a1f5b57070
+ also check for ref.index and ref.symbol in the NR_LOCAL_FRAME_POINTER_REG base case in thlcgwasm.a_loadaddr_ref_reg
|
4 years ago |
nickysn
|
46bf123fcd
+ also ensure that ref.base and ref.index are not set for symbols in thlcgwasm.a_loadaddr_ref_reg
|
4 years ago |
nickysn
|
15387514b4
* changed the formatting in thlcgwasm.a_loadaddr_ref_reg to fit the style of the other compiler code
|
4 years ago |
nickysn
|
88d42344db
- removed comment thlcgwasm.a_loadaddr_ref_reg that is not true for wasm
|
4 years ago |
nickysn
|
acb13602ea
* fixed getting the address of local variables
|
4 years ago |
nickysn
|
31bc357c1b
* fixed internal error 2019083002 with e.g. inc(local)
|
4 years ago |
nickysn
|
46a09bd8e4
* fixed thlcgwasm.a_load_ref_ref for NR_EVAL_STACK_BASE source references
|
4 years ago |
nickysn
|
08580ed628
+ introduced ttgwasm(tg).allocframepointer and .allocbasepointer
|
4 years ago |
nickysn
|
90251d7050
* allocate the base and frame pointer correctly as locals after the previous commit
|
4 years ago |
nickysn
|
bfb13fb848
- get rid of treference.islocal. Instead, use checks whether treference.base
|
4 years ago |
nickysn
|
2c56514135
- removed thlcgwasm.a_load_const_stack_intern - it comes from the JVM code
|
4 years ago |