florian
7281ea7a2c
* floating point division by zero should throw run time error 208, fixed
...
git-svn-id: trunk@46210 -
2020-08-03 19:42:16 +00:00
florian
b60ac4c2db
* @PLT is needed for calls to link it properly with pic code
...
git-svn-id: trunk@46209 -
2020-08-03 19:42:14 +00:00
florian
4c2c540b29
* fixed resetting of state, broken in r45995
...
+ debugging output
* check magic properly
* cosmetics
git-svn-id: trunk@46208 -
2020-08-03 19:42:13 +00:00
florian
893225770c
* updated tfpstate
...
git-svn-id: trunk@46207 -
2020-08-03 19:42:13 +00:00
yury
0000682043
* i8086: When a ref points to the 32-bit data, preload the ref base to a temp register to reduce spilling.
...
git-svn-id: trunk@46204 -
2020-08-03 18:52:17 +00:00
yury
ddea929923
* For 8 and 16 bit CPUs preload the ref base and index to a separate temp register in the generic implementation of a_load64_reg_ref() and a_load64_ref_reg().
...
This reduces spilling and produces a better code.
git-svn-id: trunk@46203 -
2020-08-03 18:45:38 +00:00
yury
e70c898503
* Removed the i8086 specific hack. Since r46199 the register allocator is able to handle the problem code.
...
git-svn-id: trunk@46200 -
2020-08-03 16:51:20 +00:00
yury
ff820247c3
* Early during register allocation, spill registers which interfere with all usable real registers.
...
It is pointless to keep them for further processing. Also it may
cause endless spilling.
This can happen when compiling for very constrained CPUs such as
i8086 where indexed memory access instructions allow only
few registers as arguments and additionally the calling convention
provides no general purpose volatile registers.
git-svn-id: trunk@46199 -
2020-08-03 16:46:25 +00:00
yury
601e05f17f
* Count only usable real registers.
...
git-svn-id: trunk@46197 -
2020-08-03 16:24:14 +00:00
yury
0daba07246
* Enhanced the debug output of spilling statistics. Now it includes efficiency of the spilling which is based on
...
weight and usage count of registers. Range 0-100%. Such statistics are very handy when you modify the register allocator.
git-svn-id: trunk@46196 -
2020-08-03 16:18:32 +00:00
florian
eac6675cba
* reset exception flags, resolves #37468 on x86_64
...
git-svn-id: trunk@45995 -
2020-08-02 21:23:29 +00:00
pierre
0863291e07
Add process_shared field to haiku OS pthread_mutexattr_t type
...
git-svn-id: trunk@45993 -
2020-08-02 15:46:06 +00:00
svenbarth
a8ea8eb5d5
* fix for Mantis #37447 : add support for HttpUpdateServiceConfiguration which needs to be loaded dynamically, because it's only available in newer versions of Windows 10
...
git-svn-id: trunk@45992 -
2020-08-02 15:18:36 +00:00
svenbarth
e5308038a9
* fix for Mantis #37448 : apply changes by Taufik Rahmad Hidayanto to fix the lengths of various response elements
...
git-svn-id: trunk@45991 -
2020-08-02 15:18:32 +00:00
Jonas Maebe
346adf7f55
* replace explicit (sometimes incomplete) tests with calls to doshortbooleval()
...
* the c-style boolean evaluation of "and" is independent of short-circuit evaluation
(you always have to consider the complete values in case the first one is <> 0)
git-svn-id: trunk@45990 -
2020-08-02 14:39:50 +00:00
Jonas Maebe
198efe2075
* fpmkunit: only start the worker threads once they are fully initialised
...
git-svn-id: trunk@45989 -
2020-08-02 14:39:47 +00:00
svenbarth
848ec1d219
* allow overloads with same result type for external Java classes due to Java supporting covariant return types for interfaces
...
git-svn-id: trunk@45988 -
2020-08-02 12:28:46 +00:00
yury
4964f5cf76
* Count the number of interferences with real registers.
...
* Do not coalesce registers 'u' and 'v' if 'u' is the last usable real register available for imaginary register 'n' which also interferences with 'v'.
This prevents endless spilling in some cases for constrained CPUs such as AVR. Resolves issue #37421 .
Also this reduces the number of spilled registers in some cases and even eliminates spilling completely for some simple routines for i386 and AVR.
* Added a debug output of the number of spilled registers for each routine. This allows to easily compare results after changes in spilling algorithms.
git-svn-id: trunk@45987 -
2020-08-02 11:50:43 +00:00
svenbarth
ef099b2075
* import library function with a name that does not conflict with the functions exported in the interface
...
git-svn-id: trunk@45986 -
2020-08-02 10:25:02 +00:00
svenbarth
08949c86bf
+ readd Randomize with parameter
...
git-svn-id: trunk@45985 -
2020-08-02 10:24:57 +00:00
florian
f542ee7b92
* do not throw an internal error if an errorneous type is passed to str, resolves #37462
...
git-svn-id: trunk@45983 -
2020-08-01 21:11:35 +00:00
pierre
208e7fb337
Add -marm option to gcc call fot arm target to be sure that aarch64 version of gcc complains to stderr if it does not support 32-bit
...
git-svn-id: trunk@45982 -
2020-08-01 20:42:22 +00:00
svenbarth
107a2e4e85
- remove local Random() implementations that weren't exported anyway (LongInt <> Integer inside the System unit)
...
git-svn-id: trunk@45981 -
2020-08-01 17:26:39 +00:00
svenbarth
48cc5250f9
* fpc_geteipasebx and fpc_geteipasecx are used as procedures, not functions, so declare them as such
...
git-svn-id: trunk@45980 -
2020-08-01 17:26:34 +00:00
svenbarth
04cbf32b1b
* rename local import of fpc_geteipasebx
...
git-svn-id: trunk@45979 -
2020-08-01 17:26:29 +00:00
michael
4df02b0d6d
* Remove SVN id marker
...
git-svn-id: trunk@45978 -
2020-08-01 16:02:42 +00:00
michael
0e35f2cd09
* Make sure tests run in pas2js. Reduce ifdefs
...
git-svn-id: trunk@45977 -
2020-08-01 08:49:34 +00:00
michael
eaeb21e6ae
* Add stub generator
...
git-svn-id: trunk@45976 -
2020-08-01 07:39:34 +00:00
florian
6f661e44d0
* do not throw an internal error later on in case of a recursive call, if the declaration of the function was faulty, resolves #37460
...
git-svn-id: trunk@45975 -
2020-07-31 21:03:35 +00:00
svenbarth
b412259c1c
* fix for Mantis #37355 : the method name and the named parameters need to be separated by a single #0
...
+ added test
git-svn-id: trunk@45974 -
2020-07-31 15:55:37 +00:00
svenbarth
b62045809d
* reject overloads if they only differ in the result types (as long as they aren't operator overloads)
...
+ added tests
git-svn-id: trunk@45973 -
2020-07-31 15:55:34 +00:00
svenbarth
fa0c9adbf4
* extract checking whether two parameter defs of two procdefs are equal into a separate function
...
git-svn-id: trunk@45972 -
2020-07-31 15:55:31 +00:00
florian
42f2e5f8ad
+ simplify "x mod -1", resolves #37449
...
git-svn-id: trunk@45969 -
2020-07-30 20:35:34 +00:00
pierre
546a679f4e
Add -SfPROCESSES for arm cpu, to be able to compile fcl-base package as for xtensa
...
git-svn-id: trunk@45968 -
2020-07-30 14:22:05 +00:00
pierre
93fc5abe8b
Use same parameters as in fileutilh.inc for the handle variant of FileSetDate overloaded function
...
git-svn-id: trunk@45967 -
2020-07-30 14:08:22 +00:00
Mattias Gaertner
8dbf8ae823
pastojs: (a as b)[]
...
git-svn-id: trunk@45966 -
2020-07-29 22:14:07 +00:00
Mattias Gaertner
ebf35bcac4
fcl-passrc: fixed generic proc
...
git-svn-id: trunk@45965 -
2020-07-29 22:04:29 +00:00
Mattias Gaertner
0fa8ef9fa9
fcl-passrc: resolving (a as b)[]
...
git-svn-id: trunk@45964 -
2020-07-29 21:53:13 +00:00
Mattias Gaertner
fc5a1d81c7
fcl-passrc: less hints
...
git-svn-id: trunk@45963 -
2020-07-29 21:52:37 +00:00
Mattias Gaertner
4c99a82dbf
pas2js: docs
...
git-svn-id: trunk@45962 -
2020-07-29 21:52:22 +00:00
florian
941020af1a
* patch by J. Gareth Moreton: Minor oversight in MovAnd2Mov 3 optimisation, resolves #37442
...
git-svn-id: trunk@45961 -
2020-07-29 21:11:46 +00:00
pierre
34b1cfa4b9
Do not use sets for ESysXX as the values are not in byte range for Haiku OS
...
git-svn-id: trunk@45877 -
2020-07-29 15:52:38 +00:00
michael
a5db62a300
* Mark THandleObject as abstract
...
git-svn-id: trunk@45875 -
2020-07-29 12:26:57 +00:00
yury
2d8873d085
* Fixed TAOptObj.CollapseZeroDistJump to properly handle delay slots.
...
git-svn-id: trunk@45874 -
2020-07-28 23:27:42 +00:00
yury
2b86651914
* Re-enabled safe generic jump optimizations for mips.
...
git-svn-id: trunk@45873 -
2020-07-28 23:16:21 +00:00
florian
0b5c50ea41
* Aarch64: set register size correctly for AndStrb2Strb optimization, resolves #37427
...
git-svn-id: trunk@45872 -
2020-07-28 20:46:05 +00:00
yury
cc936710a0
* mips: Added support for unaligned load/store. It greatly improves performance and prevents bus errors on systems which do not emulate unaligned memory access.
...
git-svn-id: trunk@45871 -
2020-07-28 20:08:41 +00:00
florian
55c4986c8d
* modified patch by J. Gareth Moreton: MovOpMov2Op/Lea2Add/Lea2Sub consolidation, resolves #37422
...
git-svn-id: trunk@45865 -
2020-07-27 21:00:25 +00:00
florian
a172064767
* patch by J. Gareth Moreton: fix for incorrect alignment removal, resolves #37420
...
git-svn-id: trunk@45864 -
2020-07-26 14:41:50 +00:00
Mattias Gaertner
091862cd88
pastojs: added include file and test specializations are created later
...
git-svn-id: trunk@45863 -
2020-07-26 12:05:23 +00:00