nickysn
782b033acd
* optimized SysTinyReAllocMem for the case when the new and old size are the
...
same after alignment to TinyHeapAllocGranularity
git-svn-id: trunk@28706 -
2014-09-22 12:48:12 +00:00
marcus
34a726b89d
AROS: hooked the new debug stuff into the AROS RTL, to be compatible with MorphOS and Amiga
...
git-svn-id: trunk@28703 -
2014-09-21 17:05:48 +00:00
Károly Balogh
27befd2375
amiga: reintroduced some of the exec debug functions, which were removed, but actually *DO* exist on classic Amiga and hooked the new SysDebug stuff into the Amiga RTL
...
git-svn-id: trunk@28701 -
2014-09-21 00:15:49 +00:00
nickysn
4e48190342
+ implemented Mark and Release for the tiny heap
...
git-svn-id: trunk@28700 -
2014-09-20 23:33:54 +00:00
Károly Balogh
155ae9961e
MorphOS: hooked the new debug stuff into the MorphOS RTL
...
git-svn-id: trunk@28696 -
2014-09-19 21:18:33 +00:00
Károly Balogh
2fba1540c4
amicommon: removed the accidental leftovers of experiments for the last syscall fix for MorphOS
...
git-svn-id: trunk@28695 -
2014-09-19 21:17:37 +00:00
Károly Balogh
55d85fffad
amicommon: basic common debug facilities, influenced by Debug/DebugLn of the AROS port
...
git-svn-id: trunk@28694 -
2014-09-19 20:40:43 +00:00
marco
29e5418a4f
* remove construct with exception, mantis #26738 , patch by Alexander.
...
git-svn-id: trunk@28687 -
2014-09-18 11:34:29 +00:00
marcus
8ec15cb6ba
AROS: some bugfixes for threading
...
git-svn-id: trunk@28684 -
2014-09-17 15:19:40 +00:00
Károly Balogh
26f8a732e8
aros: no executable flag in the SVN for source files
...
git-svn-id: trunk@28683 -
2014-09-16 22:22:03 +00:00
marcus
980abaa9ba
AROS: introduced threading without additional library
...
git-svn-id: trunk@28682 -
2014-09-16 19:32:56 +00:00
michael
2a4019b012
* Fix tw13076, broken by previous commit 28660
...
git-svn-id: trunk@28680 -
2014-09-16 14:00:41 +00:00
Károly Balogh
4f0d42131d
Amiga: Boolean -> LongBool changes in syscalls
...
git-svn-id: trunk@28675 -
2014-09-15 22:52:50 +00:00
Károly Balogh
034a209300
MorphOS: use LongBool instead of Boolean in syscalls, because we have C-style booleans as return values everywhere. this probably should be done for *all* Amiga-like syscalls everywhere...
...
git-svn-id: trunk@28674 -
2014-09-15 22:49:18 +00:00
sergei
b588b3143a
+ MIPS: Assembler implementation of FillChar
...
* Removed commented out assembler implementations of Inclocked(longint) and Declocked(longint) and replaced them with calls to InterlockedIncrement/Decrement, so they actually do the locking.
git-svn-id: trunk@28672 -
2014-09-15 19:41:34 +00:00
marcus
203089fe1a
AROS: sockets, fcl-net, fcl-web included
...
git-svn-id: trunk@28671 -
2014-09-15 18:33:26 +00:00
sergei
f85a8159ef
* compiler/mips/cpuinfo.pas: removed "FPU_" prefixes from FPU names, not necessary because compiler inserts one itself.
...
* rtl/embedded/system.pp: removed (commented out) FPU initialization from initialization of system unit, was dead code anyway because FPC_HAS_FEATURE_FPU is never defined and "feature FPU" does not exist.
* rtl/mips/*.inc: don't compile FPU instructions if compiling RTL with -CfNONE or -CfSOFT (however, handling these switches for MIPS targets in compiler needs further fixing).
git-svn-id: trunk@28670 -
2014-09-15 18:24:23 +00:00
nickysn
6735e717ef
* the results of MemAvail and MaxAvail changed to LongInt in the i8086 far data
...
memory models (TP7 compatibility)
git-svn-id: trunk@28667 -
2014-09-14 21:11:32 +00:00
nickysn
00c98edd29
* the FPC_TINYHEAP_HUGE define moved to tnyheaph.inc
...
git-svn-id: trunk@28666 -
2014-09-14 20:42:35 +00:00
nickysn
706a1d8712
* the FPC_HEAP_HUGE define renamed FPC_TINYHEAP_HUGE, because it applies to the
...
tiny heap, not the regular one
git-svn-id: trunk@28665 -
2014-09-14 20:10:48 +00:00
nickysn
624b3204d8
+ added and implemented MemAvail and MaxAvail for the tiny heap
...
git-svn-id: trunk@28664 -
2014-09-14 18:35:15 +00:00
Károly Balogh
6381280ebd
arm-linux: new gprt0 based on cprt0, plus gmon initialization, so profiling output generation actually works now
...
git-svn-id: trunk@28663 -
2014-09-14 17:07:35 +00:00
michael
71a1628303
* Fix bug #24645
...
git-svn-id: trunk@28661 -
2014-09-14 16:17:25 +00:00
michael
4c86a68345
* Fix bug #23954
...
git-svn-id: trunk@28660 -
2014-09-14 15:58:07 +00:00
michael
beafc9fe8c
* Fix bug #26717
...
git-svn-id: trunk@28659 -
2014-09-14 15:06:34 +00:00
nickysn
ad7111ad4d
* SysTinyFreeMem: terminate with a runtime error if Addr is >= HeapPtr, since
...
InternalTinyFreeMem cannot handle that (which causes heap corruption), and it
indicates a bug in the program anyway, because the area between HeapPtr and
HeapEnd is free (so it indicates either a double free or freeing an invalid
pointer).
git-svn-id: trunk@28658 -
2014-09-14 14:47:13 +00:00
nickysn
8edfd33af8
* use RegisterTinyHeapBlock_Simple_Prealigned in the msdos rtl
...
git-svn-id: trunk@28652 -
2014-09-13 19:55:55 +00:00
nickysn
bb07318386
+ added RegisterTinyHeapBlock_Simple_Prealigned procedure, which is the same as
...
RegisterTinyHeapBlock_Simple, but expects its address and size parameters to
be already aligned on a TinyHeapAllocGranularity boundary
git-svn-id: trunk@28651 -
2014-09-13 15:35:46 +00:00
svenbarth
b79e7ce1f9
Implement GetCPUCount for Windows OSes. This is for all three Windows targets.
...
rtl/win/sysos.inc:
+ add definition of TSystemInfo structure
+ add import of GetSystemInfo
+ add implementation of GetCPUCount which returns value for number of processors retrieved by GetSystemInfo
git-svn-id: trunk@28643 -
2014-09-12 18:40:59 +00:00
Károly Balogh
fbfcda2926
AROS: apparently, the NewStackSwap() function is just a half arsed copy of MorphOS/NewPPCStackSwap(), so it doesn't accept nil as its third argument. Therefore we pass a pointer to some area we won't use anyway. this fixes crashes in the stack swapping code on hosted systems.
...
git-svn-id: trunk@28636 -
2014-09-09 17:47:13 +00:00
nickysn
c8e9d2cf6e
+ added a simplified version of RegisterTinyHeapBlock, for use when the tiny
...
heap is a single memory block
git-svn-id: trunk@28635 -
2014-09-09 12:45:47 +00:00
nickysn
72ba70f7ec
* use HexStr instead of casting to PtrUInt for logging pointers, when
...
DEBUG_TINY_HEAP is defined, because HexStr produces nicer results for far
pointers
git-svn-id: trunk@28633 -
2014-09-09 00:47:25 +00:00
nickysn
bf8a7f0784
* handle properly the case when RegisterTinyHeapBlock is called with a start
...
address equal or larger than HeapEnd
git-svn-id: trunk@28621 -
2014-09-08 17:45:09 +00:00
marcus
ee31b188f6
AMIGA/MorphOS/AROS: corrected pathes in FP-IDE
...
git-svn-id: trunk@28620 -
2014-09-08 16:47:38 +00:00
Károly Balogh
8d98f31afc
two cases of use casts instead of anding with when extracting 16bit values
...
git-svn-id: trunk@28615 -
2014-09-07 23:38:33 +00:00
Károly Balogh
05e72f52c6
a slightly better generic implementation for SwapEndian() 32 bit and 64 bit ints
...
git-svn-id: trunk@28614 -
2014-09-07 23:19:57 +00:00
Károly Balogh
83cf14d5dd
removed unnecessary masking in Swap() calls
...
git-svn-id: trunk@28613 -
2014-09-07 23:17:52 +00:00
nickysn
af1c5096d6
* tiny heap made TP7 compatible; the FreeList and HeapPtr variables made public
...
git-svn-id: trunk@28612 -
2014-09-07 19:41:53 +00:00
Károly Balogh
5a10472729
AROS: massively enhanced i386 startup code, including
...
- fixed to always update the stacksize in __stklen, so the RTL knows the correct stacksize (StackLength in system unit is correct)
- this probably also fixes stack checking or opens the way to have a working stack checking on AROS, but that was not tested
+ call PASCALMAIN via exec/NewStackSwap() and provide a larger stack when the pre-set value is higher than what the system provides
+ use operatingsystem_result to simplify return code handling
These changes bring the AROS startup's stack handling to the Amiga/m68k and MorphOS level
git-svn-id: trunk@28611 -
2014-09-07 14:05:42 +00:00
sergei
5279693919
* softfpu.pp: fixed two more porting bugs, and also added two typecasts to avoid unnecessary 64-bit operations.
...
git-svn-id: trunk@28609 -
2014-09-06 21:01:50 +00:00
nickysn
e4095588d6
* the type of FreeList changed to an untyped pointer (TP7 compatibility)
...
git-svn-id: trunk@28608 -
2014-09-06 18:52:43 +00:00
nickysn
a4d71348dd
* TinyHeapBlocks renamed FreeList for TP7 compatibility reasons (and it'll be
...
moved to the interface part of the system unit as soon as the tiny heap's free
list becomes TP7 compatible)
git-svn-id: trunk@28607 -
2014-09-06 14:56:04 +00:00
marcus
85700afd0d
AROS: StdErrout introduced, string fixes, preparations for threading
...
git-svn-id: trunk@28602 -
2014-09-05 18:45:00 +00:00
marco
316a50ff23
* support for clock_gettime(), patch by Graeme.
...
git-svn-id: trunk@28599 -
2014-09-05 13:01:04 +00:00
Károly Balogh
e126b787a3
Amiga: moved the remnants of the old CRT unit from Amiga RTL to rtl-console package and made it to build at least. It's probably still very broken, and needs fixing.
...
git-svn-id: trunk@28592 -
2014-09-03 22:43:22 +00:00
marcus
64769b847a
amicommon: GetEnv improved, EnvCount and EnvStr implemented
...
git-svn-id: trunk@28589 -
2014-09-03 19:58:08 +00:00
nickysn
9b41b10350
* implementation of tiny heap's GetMem changed, so that it doesn't use FreeMem
...
internally.
git-svn-id: trunk@28580 -
2014-09-01 23:37:00 +00:00
sergei
98332db7fe
* Improved generic implementations of Bsf/Bsr. Existing ones were just ugly, BsfQword/BsrQWord producing total of 15 inline expansions 5 levels down and bloating into just a little less than a kilobyte of code (on MIPS). Now it is at most 3 expansions and 21 instructions (84 bytes), 16 and 32 bit routines are branchless.
...
git-svn-id: trunk@28575 -
2014-09-01 16:00:33 +00:00
Jonas Maebe
74e56c2674
* let GetDirIO() return its result in DefaultFileSystemCodePage, as its only
...
used internally and in combination with other strings in that code page
git-svn-id: trunk@28571 -
2014-08-31 21:28:01 +00:00
Jonas Maebe
88d969f3bd
* ensure that sysutils.expandfilename() returns its result in
...
DefaultRTLFileSystemCodePage instead of in DefaultFileSystemCodePage
(mantis #26627 )
git-svn-id: trunk@28570 -
2014-08-31 21:27:57 +00:00