Commit Graph

61507 Commits

Author SHA1 Message Date
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