nickysn
e41912b076
* limit the ZX Spectrum programs address space up to $FDFC, because the RTL now
...
installs an interrupt handler at $FDFD
git-svn-id: trunk@45678 -
2020-06-22 14:13:54 +00:00
nickysn
1ae70c6825
* switch to interrupt mode 2 and install a custom maskable interrupt handler in
...
the ZX Spectrum startup code, because the ROM handler requires the IY register
to always have a specific value, but the FPC code generator uses the IY
register for various purposes, which causes random crashes and glitches when
the timer interrupt occurs.
git-svn-id: trunk@45677 -
2020-06-22 14:00:33 +00:00
marco
b624b2a5f5
* fix #0037235 high(empty open array )= -1
...
git-svn-id: trunk@45676 -
2020-06-22 10:34:49 +00:00
yury
e63c03125a
* Reworked tprocdef.is_implemented to fix a bug with the parentfp optimization. The bug was detected when using the llvm backend.
...
+ Added a test.
git-svn-id: trunk@45675 -
2020-06-21 19:52:14 +00:00
florian
221d8d84ae
* Xtensa: MatchInstruction requires a postfix parameter
...
git-svn-id: trunk@45674 -
2020-06-21 19:16:27 +00:00
Jonas Maebe
3cb341eabc
* ensure that dispose(managed_ptr) does not result in multiple evaluations of
...
the managed_ptr expression
git-svn-id: trunk@45673 -
2020-06-21 15:10:38 +00:00
florian
a7c0fa0def
o patch for Xtensa by Christo Crause, resolves #37099
...
+ Added postfix parsing in tattreader.GetToken
- Removed all postfixed versions of OpCodes from the instruction list
+ Added all missing OpCodes from Xtensa ISA
* Changed branch OpCode to A_B, similar to ARM
+ Added missing branch condition flags BCI and BSI
* Updated existing compiler code that referred to the old postfixed instructions
+ Added prefix and postfix handling in TxtensaInstrWriter.WriteInstruction
* Updated TCPUAddNode.second_addfloat to specify .S postfix
* Updated tcpuunaryminusnode.second_float to specify .S postfix
+ Implemented prefix and postfix identification in txtensaattreader.is_asmopcode
* Adapted branch condition extraction to respect postfixes
* Changed itcpugas to call findreg_by_name_table from raatt.pas (same as issue #0037121 , difficult to test these changes without including a fix for the register name search problem)
git-svn-id: trunk@45672 -
2020-06-21 14:51:40 +00:00
Jonas Maebe
cc7b6d0b05
* regenerated message files
...
git-svn-id: trunk@45671 -
2020-06-21 12:26:55 +00:00
Jonas Maebe
a423bf6402
* fix -Agas-darwin to say Aas-darwin for x86-64, and also add it for i386
...
(mantis #37230 )
git-svn-id: trunk@45670 -
2020-06-21 12:26:52 +00:00
nickysn
27943baa2f
+ support z80 in the fpc launcher utility
...
git-svn-id: trunk@45669 -
2020-06-20 23:30:50 +00:00
florian
78698beaad
* compilation fixed
...
git-svn-id: trunk@45668 -
2020-06-20 20:22:21 +00:00
florian
80111a0a60
* make local variables in assembler blocks working again after r44933
...
* test for #37218
git-svn-id: trunk@45667 -
2020-06-20 20:17:53 +00:00
yury
4e1e35aef5
* Added optimization option cs_opt_unused_para. It is enabled for -O2 and higher. The parentfp optimization is tied to cs_opt_unused_para.
...
git-svn-id: trunk@45666 -
2020-06-20 18:47:42 +00:00
yury
7bffafdf8b
* Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines.
...
git-svn-id: trunk@45665 -
2020-06-20 18:34:26 +00:00
yury
c15b6f4516
* Fixed the parentfp optimization for some cases when nested procvars are used.
...
git-svn-id: trunk@45664 -
2020-06-20 18:28:07 +00:00
Károly Balogh
cc23515927
z80: vasm doesn't support the JRJP pseudo instruction, so change it to JP during write
...
git-svn-id: trunk@45663 -
2020-06-20 16:51:15 +00:00
yury
11fd466394
* Optimize parentfp when optimization level 1 and higher to be debugger friendly.
...
git-svn-id: trunk@45661 -
2020-06-20 11:14:43 +00:00
Mattias Gaertner
120eb6b8a2
pas2js: fixed system.inc()
...
git-svn-id: trunk@45660 -
2020-06-20 09:34:44 +00:00
florian
a2303bd899
* fixed copy&paste error of r45658
...
git-svn-id: trunk@45659 -
2020-06-19 19:55:14 +00:00
florian
2e36783d0e
* better check for short boolean evaluation in firstcomplex
...
git-svn-id: trunk@45658 -
2020-06-18 20:32:55 +00:00
michael
7e89141993
* Fix bug #37223
...
git-svn-id: trunk@45657 -
2020-06-18 07:39:56 +00:00
florian
8738b4b47f
+ might_have_sideeffects checks also if the tempinitcode of a tempref node might have side effects
...
git-svn-id: trunk@45656 -
2020-06-17 20:33:04 +00:00
florian
62c417c8bf
* temporarily fix #37034 by disabling the problematic optimization until the real cause is fixed
...
git-svn-id: trunk@45655 -
2020-06-15 19:57:39 +00:00
florian
c6c996f506
* write length/code page when writing the string type
...
git-svn-id: trunk@45654 -
2020-06-15 19:50:49 +00:00
Mattias Gaertner
1ff1921d14
pas2js: clean up
...
git-svn-id: trunk@45653 -
2020-06-14 17:43:50 +00:00
florian
b3817f6d92
* slash and divn might have an exception as side effect
...
git-svn-id: trunk@45652 -
2020-06-14 14:56:48 +00:00
florian
33094d263f
* Aarch: handle 0 in AndAnd2And and check if the resulting constant
...
is really a shifter constant, resolves #37203
git-svn-id: trunk@45651 -
2020-06-14 14:16:49 +00:00
Mattias Gaertner
8b84d925fb
pas2js: search no namespace, cmd line namespaces, default prg namespace, issue #37206
...
git-svn-id: trunk@45650 -
2020-06-13 20:58:47 +00:00
florian
0feb495ab8
* fixes previously accidentitly commited (and commented out) statement to avoid warning
...
git-svn-id: trunk@45649 -
2020-06-13 19:28:52 +00:00
florian
86772eeafe
* fix compilation of tests
...
git-svn-id: trunk@45648 -
2020-06-13 19:27:57 +00:00
florian
bc1b7960ec
* patch by Bi0T1N: fix result type of InterlockedCompareExchange64 for QWord, resolves #37186
...
git-svn-id: trunk@45647 -
2020-06-13 19:14:20 +00:00
svenbarth
febeef03e4
* for adding procdefs to forwarddefs check for the specialization flag instead of whether it's a full specialization; fixes implicit finalization handlers on x86_64-win64 not being found
...
+ added tests
git-svn-id: trunk@45646 -
2020-06-13 18:42:31 +00:00
svenbarth
4da6465d05
* correctly set the generic related defoptions for an outlined procdef
...
git-svn-id: trunk@45645 -
2020-06-13 18:42:26 +00:00
svenbarth
c45c543faa
* fix typo (no code changes)
...
git-svn-id: trunk@45644 -
2020-06-13 18:42:21 +00:00
svenbarth
4ec76072b4
* ensure that the BSS section for MSX-DOS is correctly initialized to 0
...
git-svn-id: trunk@45642 -
2020-06-13 09:36:18 +00:00
florian
58eca57feb
* patch by Christo Crause: embedded heap manager: free small blocks, resolves #37204
...
git-svn-id: trunk@45641 -
2020-06-12 20:50:45 +00:00
Mattias Gaertner
f26afe4a6a
pas2js: started delayed specialize
...
git-svn-id: trunk@45640 -
2020-06-12 19:54:55 +00:00
Mattias Gaertner
da9a2f59b0
fcl-passrc: type description of specialization: with paths
...
git-svn-id: trunk@45639 -
2020-06-12 19:53:32 +00:00
florian
dbd14206c9
* compilation on targets without fpu fixed
...
git-svn-id: trunk@45638 -
2020-06-11 17:30:12 +00:00
florian
b2ed667a86
* swap fpu stack correctly when moving data into xmm registers
...
git-svn-id: trunk@45637 -
2020-06-11 17:19:56 +00:00
florian
20f6514d97
* fix compilation for non 64 Bit targets
...
git-svn-id: trunk@45636 -
2020-06-10 21:05:18 +00:00
florian
50c48349d5
* check properly for i/o errors in the iso read helpers, resolves #37154
...
* CheckRead checks if reading caused an I/O error and returns false in this case
git-svn-id: trunk@45635 -
2020-06-10 20:47:58 +00:00
Mattias Gaertner
810ec836dd
pas2js: started aliasglobals external types
...
git-svn-id: trunk@45634 -
2020-06-10 19:45:44 +00:00
florian
6698f6c56b
* patch by Christo Crause: FreeRTOS: heap manager doesn't free small blocks, resolves #37195
...
git-svn-id: trunk@45633 -
2020-06-10 18:53:06 +00:00
michael
e9b0b02fea
* Fix bug ID #37197 : add version numbers of CentOS
...
git-svn-id: trunk@45631 -
2020-06-10 07:54:23 +00:00
florian
5f118da600
* optimize a/a and a-a if fast math is on
...
git-svn-id: trunk@45630 -
2020-06-09 20:50:47 +00:00
michael
8a54e8a773
* Fix bug ID #0037189 , backwards search
...
git-svn-id: trunk@45629 -
2020-06-09 14:19:47 +00:00
michael
fcc4f587ff
* Fix 0037159 (again)
...
git-svn-id: trunk@45628 -
2020-06-08 21:41:39 +00:00
florian
aafc22bd74
+ optimize real operations with 0 and 1 if fast math is turned on
...
git-svn-id: trunk@45627 -
2020-06-08 20:33:27 +00:00
Mattias Gaertner
8a9178f00a
pas2js: aliasglobals: local var for module
...
git-svn-id: trunk@45626 -
2020-06-08 18:00:59 +00:00