nickysn
b688b79a0d
* fixed the order of parameters in the first call to get_caller_frame in PushExceptObject
...
git-svn-id: trunk@25512 -
2013-09-17 21:20:24 +00:00
nickysn
1e28790e99
* fpc_PushExceptAddr's parameter Ft changed from LongInt to SmallInt on 16-bit CPUs for better efficiency
...
git-svn-id: branches/i8086@24036 -
2013-03-28 15:44:50 +00:00
nickysn
252903175c
* TExceptAddr.frametype changed to SmallInt on 16-bit CPUs, since the compiler allocates 3*sizeof(pint) for the whole structure (and using longints on 16-bit CPUs is wasteful anyway)
...
git-svn-id: branches/i8086@24035 -
2013-03-28 15:34:38 +00:00
florian
92565c80ba
* make exception variables threadvars or not depending on threading support
...
git-svn-id: trunk@23262 -
2012-12-31 19:31:22 +00:00
pierre
6eccf88499
call halt(217) if get_caller_XX function generates an exception
...
git-svn-id: trunk@22389 -
2012-09-14 13:45:31 +00:00
pierre
305a275746
Protect with try/except blocks call to get_caller_XXX functions to avoid troubles if stack is invalid
...
git-svn-id: trunk@22381 -
2012-09-13 12:37:49 +00:00
pierre
bc1ecc2e94
Use two parameter versions of get_caller_frame and get_caller_addr to get correct results for MIPS
...
git-svn-id: trunk@21843 -
2012-07-10 10:07:11 +00:00
sergei
cbad0abab5
+ Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH.
...
git-svn-id: trunk@20098 -
2012-01-16 23:13:31 +00:00
sergei
ebe1d74d6e
* Moved multiple similar checks for FPC_HAS_FEATURE_EXITCODE and FPC_LIMITED_EXITCODE to Halt() procedure. Now these checks appear only once.
...
git-svn-id: trunk@19597 -
2011-11-05 16:48:12 +00:00
sergei
56900b4754
* RTL: clean up exception handling code (functionality is not changed).
...
* changed fpc_pushexceptobj to normal procedure, it does not need to be a compilerproc.
git-svn-id: trunk@19596 -
2011-11-05 16:28:37 +00:00
sergei
a32fdc3ae6
+ Added a simple helper tcg.g_call, intended to replace allocallcpuregisters+a_call_name+deallocallcpuregisters sequence which is used all over the place.
...
* Refactored code generation for tcgonnonde and tcgtryexceptnode, simplifying both compiler and generated code. Merged compilerprocs called in sequence into larger ones (fpc_popobjectstack+fpc_destroyexception -> fpc_doneexception, fpc_popsecondobjectstack+fpc_destroyexception+fpc_reraise -> fpc_raise_nested).
git-svn-id: trunk@19506 -
2011-10-18 15:46:15 +00:00
sergei
fa4b78363c
+ Handle safecall exceptions with a dedicated compilerproc, simplifies compiler part and reduces generated code size.
...
git-svn-id: trunk@19414 -
2011-10-08 12:40:03 +00:00
paul
fcaac0ebe1
compiler,rtl - safecall handling:
...
- pass address to SafeCallException method(rtl needed a modification)
- improve code generation for regular safecall routines (not methods)
- improve test - check that passed exception and address are valid
git-svn-id: trunk@14946 -
2010-02-27 04:41:52 +00:00
paul
bfb7d91b74
rtl: fix typos
...
git-svn-id: trunk@14935 -
2010-02-25 04:09:30 +00:00
yury
e475735c43
* ifdefed fatal error messages in exception handling to be available only if debugging is needed.
...
git-svn-id: trunk@9562 -
2007-12-28 20:10:19 +00:00
yury
99ea98c7b1
* Workaround dead code warnings by using preprocessor.
...
git-svn-id: trunk@9497 -
2007-12-21 21:49:47 +00:00
yury
3ab20922d6
* Optimization for code size. It saves 1.5KB for ARM and 0.5KB for i386.
...
git-svn-id: trunk@5329 -
2006-11-11 13:26:09 +00:00
Jonas Maebe
865a4573cf
* exit with exitcode 217 instead of some random OS result
...
on an unhandled exception
git-svn-id: trunk@5314 -
2006-11-10 20:32:20 +00:00
yury
df6fec5301
* removed runtime error on unhandled exception when SysUtils is used.
...
git-svn-id: trunk@5273 -
2006-11-07 10:32:27 +00:00
florian
0089de9428
* improved exception handling code
...
git-svn-id: trunk@2632 -
2006-02-19 15:48:15 +00:00
florian
9e5a2f9522
* From Yury Sidorov:
...
* Now runtime error is not popped on program's exit if exception was handled.
git-svn-id: trunk@601 -
2005-07-09 13:06:19 +00:00
florian
25b79e9db3
* patch from Yury Sidorov to make simply exception handling without sysutils possible
...
git-svn-id: trunk@595 -
2005-07-07 18:53:21 +00:00
peter
58cdeb8184
* give runerror 231 if exceptobjectstack=nil
...
git-svn-id: trunk@401 -
2005-06-14 05:22:18 +00:00
michael
5cafc069b5
+ Removed NOSAVEREGISTERS define
...
git-svn-id: trunk@307 -
2005-06-09 17:58:20 +00:00
michael
859bb30daa
+ Removed HASTHREADVAR SUPPORT_THREADVAR defines
...
git-svn-id: trunk@295 -
2005-06-09 17:40:29 +00:00
michael
93ba0409be
+ Removed HASCOMPILERPROC define
...
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
michael
5d02b2c6cc
Removed HAS_ADDR_STACK_ON_STACK define
...
git-svn-id: trunk@261 -
2005-06-07 21:14:57 +00:00
peter
4ace790492
* remove $Log
...
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
peter
87fe5d9b98
* limit backtraces to values inside the stack, patch by Vincent Snijders
...
git-svn-id: trunk@162 -
2005-06-01 06:50:52 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
michael
71f56b3d61
+ Patch to return nil if there is no exception object (as in Delphi)
2005-05-08 21:20:26 +00:00
florian
cd86e40cb7
* ref. counting for popping second exceptiono object fixed
2005-04-03 11:32:05 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
93ec8d154c
* fix crash with backtrace if invalid frame is passed
2005-01-29 17:01:18 +00:00
peter
a68b710efd
* retrieve backtrace when exception is raised
...
* RaiseMaxFrameCount added to limit the number of backtraces, setting
it to 0 disables backtraces. Default is 16
2005-01-26 17:07:10 +00:00
peter
fd759e521f
* saveregisters calling convention is obsolete
2004-10-24 20:01:41 +00:00
florian
2553988d5a
* exception addr record size for 64 bit systems fixed
2004-04-27 18:47:51 +00:00
florian
c9122a4719
+ completed x86-64/linux system unit
2004-02-05 01:16:12 +00:00
michael
0271650b3a
+ New runerror 231 (exception stack error) and 232 (nothread support)
2003-11-26 20:12:08 +00:00
florian
91cd02e04e
+ applied patch for ref. counted exceptions by Johannes Berg
2003-10-06 15:59:20 +00:00
marco
e4621276af
* one VIRTUALPASCAL
2003-09-06 21:56:29 +00:00
florian
eab5d1f7c5
* started to make the rtl 64 bit save by introducing SizeInt and SizeUInt (similar to size_t of C)
2003-05-01 08:05:23 +00:00
peter
5fff238567
* threads unit added for thread support
2002-10-14 19:39:16 +00:00
peter
01dfac4a4e
* old logs removed and tabs fixed
2002-09-07 15:06:34 +00:00
Jonas Maebe
b9f6efc85b
+ "compproc" helpers
...
* renamed several helpers so that their name is the same as their
"public alias", which should facilitate the conversion of processor
specific code in the code generator to processor independent code
* some small fixes to the val_ansistring and val_widestring helpers
(always immediately exit if the source string is longer than 255
chars)
* fixed fpc_dynarray_high and fpc_dynarray_length if the dynarray is
still nil (used to crash, now return resp -1 and 0)
2001-08-01 15:00:09 +00:00
peter
e150c46c78
* remove warnings
2001-04-13 22:26:32 +00:00
florian
ddd5f168eb
+ more MT stuff added
2001-01-24 21:47:18 +00:00
florian
00917cb46f
* the info about exception frames is stored now on the stack
...
instead on the heap
2001-01-05 17:35:50 +00:00
sg
9048ff6354
* Added 'RaiseProc': A user-definable callback procedure which gets
...
called whenever an exception is being raised
2000-09-30 07:38:07 +00:00