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
nickysn
6ef60815b8
* fixed the 'if' instruction syntax in the llvm-mc asm writer
...
git-svn-id: branches/wasm@48026 -
2021-01-04 10:11:29 +00:00
nickysn
ade8003fb5
* thlcgwasm.blocks renamed br_blocks, to ensure searching for it in the compiler
...
sources only finds this identifier (the word 'blocks' is used in too many
other places and comments). No functional changes.
git-svn-id: branches/wasm@48023 -
2021-01-04 06:47:40 +00:00
nickysn
052d1bc38a
* synchronized with trunk
...
git-svn-id: branches/wasm@48022 -
2021-01-04 02:57:44 +00:00
florian
7d5b0d2382
* handle rawbytestrings in Win32Ansi2UnicodeMove properly, resolves #38299
...
git-svn-id: trunk@48021 -
2021-01-03 22:55:37 +00:00
pierre
f2568e37e4
Add testing for single float type in trndmode.pp
...
git-svn-id: trunk@48020 -
2021-01-03 22:03:27 +00:00
pierre
57861c934d
Check also that SetRoundMode returns correctly previous rounding mode
...
git-svn-id: trunk@48019 -
2021-01-03 21:55:35 +00:00
pierre
3362abb30c
* Set softfloat_rounding_mode indise SetRoundMode function for all CPUs.
...
* SetRoundMode returns previous rounding mode value for all CPUs.
git-svn-id: trunk@48018 -
2021-01-03 21:44:18 +00:00
florian
9592c033e5
* process fma intrinsic parameters in an order which takes care of multiple x87 stack parameters, resolves #38295
...
git-svn-id: trunk@48017 -
2021-01-03 17:08:58 +00:00
michael
743e7c1c1b
* Forgot to commit
...
git-svn-id: trunk@48014 -
2021-01-03 15:30:41 +00:00
marco
1332915a10
* still add files that start with ., just not to FTS
...
git-svn-id: trunk@48013 -
2021-01-03 15:21:43 +00:00
florian
12adb47d65
* clean up
...
git-svn-id: trunk@48011 -
2021-01-03 15:03:27 +00:00
michael
7ee4954b0b
* Refactor HTML engine so it can more easily be extended
...
git-svn-id: trunk@48010 -
2021-01-03 14:08:48 +00:00
michael
7be3d2f80c
* get rid of some warnings
...
git-svn-id: trunk@48009 -
2021-01-03 14:08:02 +00:00
svenbarth
b8578f804f
* fix compilation on targets that use Stabs debug information: ignore generic dummy symbols with no procdefs for generating stabs data
...
git-svn-id: trunk@48007 -
2021-01-03 12:11:44 +00:00
svenbarth
4a274cd63a
+ add a copyright/license header for the nullable unit
...
git-svn-id: trunk@48006 -
2021-01-03 12:11:40 +00:00
michael
1afca037c6
* Help for markdown
...
git-svn-id: trunk@48005 -
2021-01-03 08:37:52 +00:00
Mattias Gaertner
9825d3b552
pastojs: filer export nameexpr
...
git-svn-id: trunk@48004 -
2021-01-03 01:06:04 +00:00
Mattias Gaertner
e911431ed4
fcl-passrc: parser: export unit.symbol, resolver: started library export
...
git-svn-id: trunk@48003 -
2021-01-03 01:04:26 +00:00
svenbarth
c96029ebd5
* Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym
...
+ added tests
Note: what Delphi /does/ allow however is to overload a generic routine with a generic type... go figure. :/ We currently don't allow that
git-svn-id: trunk@48002 -
2021-01-02 23:23:39 +00:00
svenbarth
7343e9c4a2
* correctly handle the case should the generic dummy symbol be a procsym instead of a typesym
...
git-svn-id: trunk@48001 -
2021-01-02 23:23:34 +00:00
svenbarth
e4eed4e259
* when only a symbol name is provided to generate_specialization_phase1 allow a symbol table to be provided as well
...
git-svn-id: trunk@48000 -
2021-01-02 23:23:29 +00:00
svenbarth
a65d778f73
* also handle call nodes when determining the generic symbol for inline specializations
...
git-svn-id: trunk@47999 -
2021-01-02 23:23:24 +00:00
svenbarth
f42b39a7b5
* use a case statement instead of nested if-then statements
...
git-svn-id: trunk@47998 -
2021-01-02 23:23:20 +00:00