marco
796be2656c
* removed printer
...
git-svn-id: trunk@27409 -
2014-03-31 11:07:55 +00:00
sergei
fff45fa1d3
- Don't compile fpc_abs_real and fpc_sqr_real if they are already defined (Mantis #25342 ).
...
git-svn-id: trunk@27408 -
2014-03-31 10:10:04 +00:00
reiniero
b2813cc627
fcl-db: cosmetic:
...
* Rename deceptively named GetLogEvent
* Typos
git-svn-id: trunk@27407 -
2014-03-31 09:54:46 +00:00
nickysn
6cac29e1b5
+ implemented InterLockedExchangeAdd for i8086
...
git-svn-id: trunk@27406 -
2014-03-31 09:49:37 +00:00
nickysn
d6cb55297c
+ symx86.pas added to ppc8086.lpi
...
git-svn-id: trunk@27405 -
2014-03-31 09:24:55 +00:00
nickysn
5b71ad3e3b
+ i8086 InterLockedExchange reimplemented in asm, added locking with cli
...
git-svn-id: trunk@27404 -
2014-03-31 09:24:23 +00:00
nickysn
3b2cc1baf5
- rm unused local vars from SysInitFPU and SysResetFPU
...
git-svn-id: trunk@27403 -
2014-03-30 23:03:51 +00:00
nickysn
8eaf8938f4
+ support i8086 far data memory models in InterLockedDecrement and
...
InterLockedIncrement
git-svn-id: trunk@27402 -
2014-03-30 22:49:40 +00:00
nickysn
14ecc118ec
+ disable interrupts as a form of 'locking' in InterLockedDecrement and
...
InterLockedIncrement
git-svn-id: trunk@27401 -
2014-03-30 22:41:48 +00:00
nickysn
2dd9a36bdc
* use si, instead of bp in InterLockedDecrement and InterLockedIncrement
...
git-svn-id: trunk@27400 -
2014-03-30 22:38:30 +00:00
Jonas Maebe
8364232049
+ symx86 unit, forgot to commit (part of r27397)
...
git-svn-id: trunk@27399 -
2014-03-30 22:03:55 +00:00
nickysn
e86e108dc5
+ added the newly added source files from r27379 to ppc8086.lpi
...
git-svn-id: trunk@27398 -
2014-03-30 21:25:33 +00:00
Jonas Maebe
338c064beb
* moved x86-specific tpointerdef functionality to architecture-specific
...
descendants
git-svn-id: trunk@27397 -
2014-03-30 21:04:36 +00:00
Jonas Maebe
dae5d1ff62
+ added class reference types of the architecture-specific t*def/t*sym
...
classes
git-svn-id: trunk@27396 -
2014-03-30 21:04:32 +00:00
Jonas Maebe
43992495cb
* moved jvm tprocdef name mangling to jvm-specific descendant class
...
git-svn-id: trunk@27395 -
2014-03-30 21:04:29 +00:00
Jonas Maebe
f4c0daddb4
* moved jvm-specific exprasm field from tprocdef to jvm-specific descendant
...
git-svn-id: trunk@27394 -
2014-03-30 21:04:25 +00:00
nickysn
0a9f738167
+ tcg8086.g_copyvaluepara_openarray: support source to be in a different segment
...
git-svn-id: trunk@27393 -
2014-03-30 19:55:11 +00:00
nickysn
4763723c75
+ support compact, large and huge memory models in x86/cpubase.segment_regs_equal()
...
git-svn-id: trunk@27392 -
2014-03-30 19:36:21 +00:00
nickysn
1f8280e8f1
* load the destination segment in tcg8086.g_copyvaluepara_openarray from SS
...
instead of DS, because the destination is on the stack, but in some memory
models DS may be different than SS
git-svn-id: trunk@27391 -
2014-03-30 19:10:21 +00:00
nickysn
070955bcd0
* fixed 'data element too large' error in i8086 far data memory models
...
git-svn-id: trunk@27390 -
2014-03-30 18:17:37 +00:00
nickysn
096bba90da
* fixed Tcgx86.g_concatcopy not using the correct push instruction size when
...
pushing the source segment
git-svn-id: trunk@27389 -
2014-03-30 18:09:15 +00:00
nickysn
f4a0c08736
* fixed nested access to parent local variables in i8086 far data memory models
...
git-svn-id: trunk@27388 -
2014-03-30 17:50:35 +00:00
florian
8dfcc2b399
* do not reuse tmp. registers in tbasecgarm.handle_load_store
...
git-svn-id: trunk@27387 -
2014-03-30 17:28:45 +00:00
Jonas Maebe
11c7d5223c
* moved ifdef'd jvm code from tprocvardef to jvm-specific descendant
...
git-svn-id: trunk@27386 -
2014-03-30 17:15:57 +00:00
Jonas Maebe
a05b078fa0
* made ppuload_platform() virtual (should have been part of r27378)
...
git-svn-id: trunk@27385 -
2014-03-30 17:15:53 +00:00
Jonas Maebe
721fd887c3
* moved all jvm-specific code from symsym to jvm/symcpu
...
git-svn-id: trunk@27384 -
2014-03-30 16:55:09 +00:00
Jonas Maebe
4a7e6b8b8f
* instantiate the cpu-specific version of all defs/syms when loading them
...
from ppu (was only done for absolutevarsym until now)
git-svn-id: trunk@27383 -
2014-03-30 16:55:06 +00:00
Jonas Maebe
54964d92eb
+ forgot to commit, part of r26472
...
git-svn-id: trunk@27382 -
2014-03-30 16:55:03 +00:00
Jonas Maebe
49ccedbff1
* r27142 for the JVM target, so its system unit compiles again
...
git-svn-id: trunk@27381 -
2014-03-30 16:54:59 +00:00
nickysn
9ae26316e8
* fixed the handling of const resourcestrings in the i8086 far data memory models
...
git-svn-id: trunk@27380 -
2014-03-30 16:30:51 +00:00
Jonas Maebe
4a79481c51
* isolated segment-related functionality of tabsolutevarsym into i386/i8086-
...
specific descendent classes and moved the code that deals with this in the
code generator also to target-specific classes -> only ifdefs left in
pdecvar
git-svn-id: trunk@27379 -
2014-03-30 15:42:53 +00:00
Jonas Maebe
2474369dde
* made all ppuwrite methods in leaf classes "final", because you cannot
...
override them safely in subclasses to add more data (they finalise
writing their ibentry)
* removed "virtual" from all ppuload constructors for similar reason
as above
+ added virtual (empty) ppuwrite_plaform() method that is called from
tstoreddef/tstoredsym.ppuwrite(), which can be safely overridden in
child classes to add extra data (called centrally from a new
tstoreddef/sym.writeentry() method)
+ added virtual (empty) ppuload_platform() method that is called from
tstoreddef/tstoredsym.ppuload(), which can be safely overridden in
child classes to read the extra data (unfortunately cannot be called
from one single location, and these calls had to be added for each
generic subclass separately)
git-svn-id: trunk@27378 -
2014-03-30 15:42:49 +00:00
nickysn
e4437bcd51
+ initialize the segment of __stktop, __stkbottom, __nearheap_start and
...
__nearheap_end in i8086 far data memory models.
+ 'Hello world!' now works in the i8086 compact and large memory models!
git-svn-id: trunk@27377 -
2014-03-30 15:32:44 +00:00
marco
a818559481
* clocale moved to rtl-extra.
...
git-svn-id: trunk@27376 -
2014-03-30 15:27:35 +00:00
marco
2994c55a99
* Patch from Ocean, mantis #25938
...
- Add missing types from stdole2.tlb
- IOleCache, IOleCache2, IOleCacheControl, IOleItemContainer from OleIdl
- Removed useless function name comments
git-svn-id: trunk@27375 -
2014-03-30 13:36:55 +00:00
nickysn
7f37a3300d
+ added an i8086 asm implementation of move()
...
git-svn-id: trunk@27374 -
2014-03-30 13:22:52 +00:00
marco
d6f5ca21b9
* moved units ipc for *BSD, darwin/iphonesim and linux. The others are
...
makefile cleanups.
git-svn-id: trunk@27373 -
2014-03-30 13:13:13 +00:00
marco
70088d12a8
* eliminate classes unit from the compiler by copying an array of string based
...
extractstrings to cclasses.
git-svn-id: trunk@27372 -
2014-03-30 12:03:10 +00:00
nickysn
66d7beb7fe
* i8086 far data memory model fix for except_buf_size
...
git-svn-id: trunk@27371 -
2014-03-30 12:00:20 +00:00
marco
56277b18db
* move fpcsubst to utils/ because it uses classes
...
git-svn-id: trunk@27370 -
2014-03-30 11:45:51 +00:00
nickysn
5ae9443d66
* moved the EXCEPT_BUF_SIZE const to be local to ncgutils.get_exception_temps,
...
because that's the only place where it's used
git-svn-id: trunk@27369 -
2014-03-30 11:27:07 +00:00
nickysn
1f98dfc3b4
* i8086 far data memory model fixes in FPC_SETJMP. FPC_LONGJUMP not converted
...
yet.
git-svn-id: trunk@27368 -
2014-03-30 10:56:42 +00:00
sergei
d251c131a5
* i386: replaced fpc_exp_real with a port from AMath library. It has better accuracy and is faster on CPUs that suffer penalties from changing x87 control word.
...
git-svn-id: trunk@27367 -
2014-03-30 09:41:06 +00:00
sergei
1744988962
* Modified behavior of CExtended type in overload selection: it is made more compatible to Extended than to Double and Single. Also an Extended parameter selects a CExtended overload (if available) instead of Double.
...
+ Test.
git-svn-id: trunk@27366 -
2014-03-30 07:31:58 +00:00
sergei
eb984a5adb
* Replaced last remaining C tokens.
...
git-svn-id: trunk@27365 -
2014-03-30 05:03:55 +00:00
sergei
20cc82dfea
* Two more "&& vs &" porting bugs fixed.
...
git-svn-id: trunk@27364 -
2014-03-30 04:37:52 +00:00
nickysn
aba62b11f4
+ enabled compilation of unit printer on i8086-msdos after the move to rtl-extra
...
git-svn-id: trunk@27363 -
2014-03-30 00:03:31 +00:00
nickysn
7a965374e9
* fixed i8086-msdos compilation after r27349
...
git-svn-id: trunk@27362 -
2014-03-29 23:54:30 +00:00
Jonas Maebe
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
...
o made all (non-abstract) tdef and tsym constructors virtual
o added c*def/c*sym classref types for every (non-abstract) t*def/t*sym
class
o added cpusym unit for every architecture that derives a tcpu*def/tcpu*sym
class from the base classes, and initialises the c*def/c*sym classes with
them. This is done so that the llvm target will be able to derive from
the tcpu*def/sym classes without umpteen ifdefs, and it also means that
the WPO can devirtualise everything because the c* variables are only
initialised with one class type
o replaced all t*def/t*sym constructor calls with c*def/c*sym constructor
calls
git-svn-id: trunk@27361 -
2014-03-29 22:31:55 +00:00
Jonas Maebe
b5fd71c3b9
* removed {$ifndef i8086} in tx86vecnode, instead reset cvecnode to
...
tcgvecnode in the n8086mem initcode
git-svn-id: trunk@27360 -
2014-03-29 22:31:49 +00:00