Commit Graph

32166 Commits

Author SHA1 Message Date
Jonas Maebe
3c8b23cda4 * fixed cg.a_loadmm_reg_ref() and cg.a_loadfpu_reg_ref() in case they are
used to store a record function result in an MM/FPUREGISTER to memory
    (the register size will be OS_F32/OS_F64, while the memory size will
     be OS_32/OS_64 -> convert the latter to the former)
  * extended tcalext6 to also test this scenario

git-svn-id: trunk@15385 -
2010-06-04 22:31:35 +00:00
Jonas Maebe
dd759ba906 * avoid some more "movq %xmm0, %xmm0" instructions by setting the subreg
of function results to R_SUBMMWHOLE (default was R_SUBMMNONE, which didn't
    match registers allocated later)

git-svn-id: trunk@15384 -
2010-06-04 22:28:50 +00:00
Jonas Maebe
3da24294da * hopefully final fixes to this test...
git-svn-id: trunk@15383 -
2010-06-04 22:27:15 +00:00
Jonas Maebe
7ba46589e7 * recompiled from new version of tcext6.c
git-svn-id: trunk@15382 -
2010-06-04 17:58:09 +00:00
michael
dabb15e14d * Debugging by default disabled
git-svn-id: trunk@15381 -
2010-06-04 15:49:20 +00:00
michael
311d634f04 * Added debug directive for easier debugging
git-svn-id: trunk@15380 -
2010-06-04 15:48:54 +00:00
michael
66c91d8ed5 * Fixed 2 bugs and added debug directive
git-svn-id: trunk@15379 -
2010-06-04 15:48:26 +00:00
michael
cd237186be * Implemented TPAramDef.Assign, or streaming does not work correctly
git-svn-id: trunk@15378 -
2010-06-04 15:47:29 +00:00
Jonas Maebe
6b5db62a5a * adjusted tcalext6 and tcext6.c so libgcc is no longer required on most
non-x86 architectures

git-svn-id: trunk@15377 -
2010-06-04 15:30:18 +00:00
Jonas Maebe
ad99d968f7 * enabled for all cpu architectures
git-svn-id: trunk@15376 -
2010-06-04 15:27:24 +00:00
michael
e94344784d * Ext.Direct demo
git-svn-id: trunk@15375 -
2010-06-04 15:24:27 +00:00
Jonas Maebe
a7eb6bf64b * fixed checking validity of temporary parameter location that triggered
internalerror(200501281) on some platforms after r15365

git-svn-id: trunk@15374 -
2010-06-04 15:20:30 +00:00
joost
c10e229a4b * Moved TDBBasicsTestSetup to toolsunit
git-svn-id: trunk@15373 -
2010-06-04 10:44:08 +00:00
Jonas Maebe
62b1698912 + added
git-svn-id: trunk@15372 -
2010-06-03 21:49:47 +00:00
Jonas Maebe
42eefb0e0c + added
git-svn-id: trunk@15371 -
2010-06-03 21:44:14 +00:00
Jonas Maebe
f5a50ac3eb * regenerated using up-to-date fpcmake
git-svn-id: trunk@15370 -
2010-06-03 21:22:53 +00:00
Jonas Maebe
429a9cdba0 + added
git-svn-id: trunk@15369 -
2010-06-03 21:20:14 +00:00
Jonas Maebe
15e9c54b44 * fixed ABI compliance for parameter passing and function returning on all
x86-64 platforms (except for win64, which uses another ABI and which
    already complied to it) + test
  * fixed returning records containing 1 single or double field on darwin/i386,
    these have to be returned via ST0 instead of as a regular record
  * added support for LOC_FPUREGISTER and LOC_MMREGISTER in several places
    where they can now occur due to the previous two changes
  * made a few internalerrors unique

git-svn-id: trunk@15368 -
2010-06-03 20:08:50 +00:00
Jonas Maebe
48d7c69aab * set maxCrecordalign to 16 for all x86_64 platforms that follow the
official ABI (records containing a C long double require 16 byte
    alignment)

git-svn-id: trunk@15367 -
2010-06-03 20:02:06 +00:00
Jonas Maebe
9e785ea553 + several internalerrors in case things go wrong
+ support for OS_M64 in several places

git-svn-id: trunk@15366 -
2010-06-03 19:09:27 +00:00
Jonas Maebe
27f6376fd4 * when determining whether a temporary paraloc can be in a LOC_REGISTER,
look at paraloc^.size rather than cgpara.size, because e.g. a 32 bit
    record (-> cgpara.size=OS_32) may have to be passed via a
    LOC_MMREGISTER (-> paraloc^.size=OS_F32 or OS_M32)

git-svn-id: trunk@15365 -
2010-06-03 18:43:42 +00:00
Jonas Maebe
82b65a1f93 * made internalerror unique
git-svn-id: trunk@15364 -
2010-06-03 18:38:43 +00:00
florian
84590d67b0 * don't try to create cse on void resultdefs, resolves #16488
git-svn-id: trunk@15363 -
2010-06-03 16:10:02 +00:00
michael
951c475e62 * Added some test instructions
git-svn-id: trunk@15362 -
2010-06-03 15:23:47 +00:00
michael
3d414fe91b * json-rpc examples, and compile it as well
git-svn-id: trunk@15361 -
2010-06-03 15:18:09 +00:00
michael
9797140bad * Added JSON-RPC functionality
git-svn-id: trunk@15360 -
2010-06-03 15:09:29 +00:00
Jonas Maebe
2a752f2c49 - removed, because C "long double" compatibility has been fixed (via
the "cextended" type) and testing this functionality has been
    enabled in tcalext a while back already

git-svn-id: trunk@15359 -
2010-06-02 21:23:19 +00:00
Jonas Maebe
c8d75245a9 + extra sanity checks in TCGPara.ppuwrite()
git-svn-id: trunk@15358 -
2010-05-31 20:48:35 +00:00
Jonas Maebe
d167f338a7 + test for mantis #16357 fixed in r15350
git-svn-id: trunk@15357 -
2010-05-31 18:11:46 +00:00
Jonas Maebe
cf36646238 * forgot to commit (part of r15350)
git-svn-id: trunk@15356 -
2010-05-31 17:38:54 +00:00
Jonas Maebe
6fa584fc12 * fixed endless loop in TCGPara.ppuwrite
git-svn-id: trunk@15355 -
2010-05-31 16:15:12 +00:00
Jonas Maebe
72bec41317 * increased ppu version after r15350, because the explicit paralocations
are now stored in a different way

git-svn-id: trunk@15354 -
2010-05-31 16:13:34 +00:00
michael
561972e0fc * Added TDataModuleClass class pointer
git-svn-id: trunk@15353 -
2010-05-31 09:53:18 +00:00
michael
2cd9eb927b * reverted ProcessedPathInfo to ReturnedPathInfo
git-svn-id: trunk@15352 -
2010-05-31 07:08:06 +00:00
michael
96055e24ea * Empty pathinfo
git-svn-id: trunk@15351 -
2010-05-31 07:05:36 +00:00
Jonas Maebe
283018a3bf * changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
represent complex locations (required for full x86-64 ABI support,
    which is not yet implemented) -> lots of special result handling
    code has been removed and replaced by the parameter handling
    routines
  + added support for composite parameters (and hence function
    results) to tcg.a_load_ref_cgpara() (so it can be used for
    handling, e.g., 64 bit parameters on 32 bit platforms)
  * the above fixed writing past the end of allocated memory when
    handling records returned in registers on x86-64 whose size is
    not a multiple of 8 bytes (mantis #16357)
  - removed the x86-64 and PPC specific versions of a_load_ref_cgpara(),
    as they are now handled correctly by the generic version
  * moved the responsibility of allocating tcgpara cpu registers
    (using paramanager.allocparaloc()) from the callers of
    cg.a_load*_cgpara() to the cg.a_load*_cgpara() methods
    themselves (so the register allocation can be done efficiently
    when dealing with function results)
  * for the above, renamed paramanager.alloc/freeparaloc() to
    paramanager.alloc/freecgpara(), and use paramanager.allocparaloc()
    to allocate individual pcgparalocations instead
  * fixed the register size of SSE2 function result registers for
    x86-64 (when used for floating point), which results in removing
    a few superfluous "movs? %xmm0,%xmm0" instructions
  * fixed compilation of paramanagers of avr, m68k and mips after r13695
    and also updated them for these new changes

git-svn-id: trunk@15350 -
2010-05-30 21:12:57 +00:00
joost
25fd20f055 * Do not use an old connection handle when the connection is reconnected, bug #16438 + test
git-svn-id: trunk@15349 -
2010-05-30 20:09:48 +00:00
Jonas Maebe
ba172db49c * fixed broken "make all" after r15347: fcl-async is still required
(fpsock uses fpasync) and the servlets unit no longer exists

git-svn-id: trunk@15348 -
2010-05-30 20:04:04 +00:00
michael
0b102a5ee8 * Removed unsupported units
git-svn-id: trunk@15347 -
2010-05-30 14:16:27 +00:00
michael
1993663af7 * Deprecated in favour of fcl-web and WST
git-svn-id: trunk@15346 -
2010-05-30 14:14:18 +00:00
michael
e3c08dc4ec * Patch from Nikolay Nikolov to fix compliance mode rendering
git-svn-id: trunk@15345 -
2010-05-30 13:44:20 +00:00
Jonas Maebe
ffc9e07275 * only don't perform the complex mul->lea optimizations for the Pentium3
git-svn-id: trunk@15344 -
2010-05-30 12:57:52 +00:00
Károly Balogh
066b8616c0 + recentish TinyGL of MorphOS supports glCopyTexImage2D()
git-svn-id: trunk@15343 -
2010-05-29 17:53:31 +00:00
michael
8ea5a59438 Null -> null (B*y case sensitive languages)
git-svn-id: trunk@15342 -
2010-05-28 11:20:01 +00:00
Jonas Maebe
90d729721d * added ".NOTPARALLEL:", because some of the units in webdata depend
on the units in base
  * regenerated with an up-to-date fpcmake

git-svn-id: trunk@15341 -
2010-05-28 09:53:58 +00:00
michael
fd3b68606c * Fixed to match new directory structure, added all new units
git-svn-id: trunk@15340 -
2010-05-28 09:50:37 +00:00
michael
38ff91ba85 * Added Clone and extract methods
git-svn-id: trunk@15339 -
2010-05-28 09:36:09 +00:00
michael
fa715c5131 * fcl-net dependency
git-svn-id: trunk@15338 -
2010-05-27 20:39:34 +00:00
Jonas Maebe
6434bcf562 * fcl-web now depends on fcl-net and fcl-json
git-svn-id: trunk@15337 -
2010-05-27 19:56:46 +00:00
michael
98d72d2e99 * Added dependency on fcl-net for ssockets
git-svn-id: trunk@15336 -
2010-05-27 16:59:23 +00:00