Commit Graph

43790 Commits

Author SHA1 Message Date
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
Károly Balogh
5471a399e3 amunits: syscall-ified timer, fixed keymap to build (oops...)
git-svn-id: trunk@28574 -
2014-09-01 09:22:53 +00:00
Károly Balogh
e92e2349e7 amunits: syscall-ified keymap unit
git-svn-id: trunk@28573 -
2014-09-01 08:33:36 +00:00
svenbarth
244ac12794 Fix for Mantis #26615.
htypechk.pas, tcallcandidates:
  * collect_overloads_in_struct: we need to check the deftyp of the extended def for record- or objectdef, not the deftyp of the helper which will always be objectdef anyway.

+ added test

git-svn-id: trunk@28572 -
2014-09-01 07:18:02 +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
florian
2fa7171a45 * generate AND for small set comparisons also when only set vars are involved using the cg class, so it works for arm thumb as well
git-svn-id: trunk@28569 -
2014-08-31 20:43:13 +00:00
florian
8a7c16327c * fixes reference handling for arm thumb and ldrh, not perfect yet
git-svn-id: trunk@28568 -
2014-08-31 18:00:10 +00:00
Károly Balogh
604b277183 Amiga: rtl-console and fv now builds for classic Amiga. It probably still nukes badly though, due to problems in the age-old AmUnits interface units. To be fixed soon.
git-svn-id: trunk@28567 -
2014-08-31 17:54:00 +00:00
Károly Balogh
fb6d7ca1da amunits: MsgBox unit renamed to AMsgBox, conflicts with FV
git-svn-id: trunk@28566 -
2014-08-31 17:48:20 +00:00
Károly Balogh
6873588b0f FV: use DOSDelay() on all Amiga platforms
git-svn-id: trunk@28565 -
2014-08-31 17:41:01 +00:00
marcus
1c6696a7fe FP-IDE: restore bullet, destroyed in last commit
git-svn-id: trunk@28564 -
2014-08-31 17:30:45 +00:00
Károly Balogh
2001f6982d amunits: renamed keyboard.pas to akeyboard.pas to avoid name conflict with rtl-console/keyboard
git-svn-id: trunk@28563 -
2014-08-31 17:22:39 +00:00
Károly Balogh
832ac8332e amunits: renamed agraphics/Move to gfxMove to match other platforms and avoid the conflict with System.Move()
git-svn-id: trunk@28562 -
2014-08-31 17:21:58 +00:00
marcus
9b40b6dcc1 AROS: FP-IDE, System clipboard, execute programs/Shell, keycode Ctrl-A for Select All
git-svn-id: trunk@28561 -
2014-08-31 17:13:30 +00:00
florian
81c717fc06 + implemented tthumbcgarm.g_external_wrapper in a way which does not destroy lr
git-svn-id: trunk@28560 -
2014-08-31 16:35:01 +00:00
Károly Balogh
782baeca29 fpmkunit: Amiga, MorphOS and AROS are the AllAmigaLikeOSes
git-svn-id: trunk@28559 -
2014-08-31 16:34:12 +00:00
Károly Balogh
3a256424f7 amunits: even more PACKRECORDS 2 madness
git-svn-id: trunk@28558 -
2014-08-31 16:13:11 +00:00
Károly Balogh
55e2893f39 amunits: renamed Graphics unit to AGraphics to match AROS and MorphOS, added PACKRECORDS 2 at a few places
git-svn-id: trunk@28557 -
2014-08-31 15:55:54 +00:00
florian
3f18d85434 * create a thumb_func directive before .globl directives in assembler to prevent accidental changes of asm mode
git-svn-id: trunk@28556 -
2014-08-31 15:01:55 +00:00
Károly Balogh
1e86d2ba2f rtl-console: don't forget to open libraries on MorphOS
git-svn-id: trunk@28555 -
2014-08-31 14:59:05 +00:00
Károly Balogh
143d7d7dd4 rtl-console: unified AROS and MorphOS units except video (for now). but upgraded MorphOS' video unit to AROS level
git-svn-id: trunk@28554 -
2014-08-31 14:48:58 +00:00
Károly Balogh
4ae5441757 Amiga, MorphOS, AROS: renamed a constant named "SINGLE" in intuition unit and unified across all systems
git-svn-id: trunk@28553 -
2014-08-31 14:39:59 +00:00
marcus
49b0c18c53 AROS: rtl-console, fv, FP-IDE added
git-svn-id: trunk@28552 -
2014-08-31 13:48:16 +00:00
Károly Balogh
434e199f0b arosunits: removed the executable bit from some of the source files
git-svn-id: trunk@28551 -
2014-08-31 13:31:49 +00:00
Károly Balogh
bf35dae486 rtl-console: fixed TKeyEvent to TKeyRecord mapping on big endian systems
git-svn-id: trunk@28550 -
2014-08-31 13:17:53 +00:00
florian
dffdde7d53 * fixes reference handling for arm thumb and ldrb, not perfect yet and other ldr/str types might need similiar fixes
git-svn-id: trunk@28549 -
2014-08-31 11:37:17 +00:00
marcus
97831bed8a Amiga, AROS, MorphOS: Define in IncludeTrailingPathDelimiter changed to HASAMIGA
git-svn-id: trunk@28548 -
2014-08-31 06:46:17 +00:00
marcus
b962e61847 AROS: arosunits for aros system library units
git-svn-id: trunk@28547 -
2014-08-31 06:39:28 +00:00
florian
db01c50a4f * fixes jump table generate for arm thumb
git-svn-id: trunk@28546 -
2014-08-30 22:13:09 +00:00
sergei
a5958d6e5f * m68k: do not emit moves between same register, they end up in wrong code in some cases when register needs to be spilled (and entirely useless otherwise).
git-svn-id: trunk@28545 -
2014-08-30 22:00:54 +00:00
Károly Balogh
581e4ac28d + amunits, morphunits: added PUBLICSCREEN_F define, which was missing (verified against NDK3.9 and MorphOS SDK)
git-svn-id: trunk@28544 -
2014-08-30 21:40:22 +00:00
florian
d407d8ec7e * thumb has no mla instruction support
git-svn-id: trunk@28543 -
2014-08-30 20:42:40 +00:00
florian
836a6e46ca * several issues with interface wrappers for thumb fixed
git-svn-id: trunk@28542 -
2014-08-30 20:38:26 +00:00
marcus
5305a4d827 Amiga,AROS,MorphOS: IncludeTrailingPathDelimiter not adding DirectorySeparator after Driveseparator
git-svn-id: trunk@28541 -
2014-08-30 18:22:08 +00:00
florian
97fc823e33 * generate AND for small set comparions using the cg class, so it works for arm thumb as well
git-svn-id: trunk@28540 -
2014-08-30 18:02:59 +00:00
florian
64dafdb1de * stabn writing code simplified
* write 0 instead of "label-label" in stabn, arm thumb assemblers do not like "label-label", for other targets writing 0 should make no difference

git-svn-id: trunk@28539 -
2014-08-30 16:56:01 +00:00
florian
09728a9ae2 * improved r28534: LDR/STR on thumb do not support registers >r7 as destination/source
git-svn-id: trunk@28538 -
2014-08-30 12:13:00 +00:00
Károly Balogh
ef5f1b7ed2 amicommon: fixed sysdir.inc/do_chdir() to actually work on AROS
- fixed all Amiga-like system units to not leak the last directory
  lock while changing back to the original dir in System_exit;
  (a bug found by Marcus Sackrow, thanks!)
* renamed AOS_origDir to ASYS_origDir

git-svn-id: trunk@28537 -
2014-08-30 00:58:42 +00:00
sergei
1e11e34f42 + MIPS: implemented more peephole optimizations.
git-svn-id: trunk@28536 -
2014-08-29 18:20:49 +00:00
sergei
d9a7d28838 + MIPS: support floating point conditions in its emulated flags, on MIPS4+ convert such flags to registers using conditional move instructions (i.e. without branching). For older cores generated code remains the same.
git-svn-id: trunk@28535 -
2014-08-29 18:18:17 +00:00
Károly Balogh
5a7b1f00cf ARM: Thumb is an ugly mess, but this at least makes fcl-image package to build with -Ooregvar. someone with more clue is welcomed to review and come up with a better patch.
git-svn-id: trunk@28534 -
2014-08-29 17:04:48 +00:00
Károly Balogh
785a1690a2 amicommon: AOS_heapPool renamed to ASYS_heapPool. common stuff should start with ASYS, to avoid confusion on AmigaOS, so more to come
git-svn-id: trunk@28533 -
2014-08-28 21:50:05 +00:00
nickysn
cd0acd050e * store the tiny heap free block size in a TP7-compatible way (as a normalized
segment:offset pair, instead of a longint) in the i8086 far data memory models

git-svn-id: trunk@28532 -
2014-08-28 21:24:41 +00:00
lacak
9703d14149 fcl-db: base: if either MinValue or MaxValue is <> 0 then use range MinValue-MaxValue instead of MinRange-MaxRange (for TLongintField). It is compatible with other Fields and allows set range 0-X or X-0. Bug #26606
git-svn-id: trunk@28531 -
2014-08-28 12:28:36 +00:00
sergei
3b06465322 + MIPS: support replacement spilling for mov.s, mov.d and (partially) mtc1 instructions.
git-svn-id: trunk@28530 -
2014-08-27 21:26:38 +00:00
sergei
5655baa23a * MIPS: optimized conversion of unsigned 32-bit integers to float, now uses one integer register instead of two and does not generate redundant move.
git-svn-id: trunk@28529 -
2014-08-27 21:23:47 +00:00
sergei
5f2821ee5f * Moved handling of emulated floating point negation into new virtual method tcgunaryminusnode.second_float_emulated. Also changed it into simple flipping of the sign bit, which is how it is defined by IEEE 754, and already done for ARM targets. Relevant ARM-specific parts can now be removed, and m68k code gets significantly better without further efforts.
git-svn-id: trunk@28528 -
2014-08-27 21:16:30 +00:00
florian
8635894de4 * merged new changes to avx2 branch (AVX2 vectory-memory support) by Torsten Grundke
git-svn-id: trunk@28527 -
2014-08-27 21:06:23 +00:00
marcus
4ef87579eb amicommon: GetLocalTime correct millisecond value
git-svn-id: trunk@28526 -
2014-08-27 15:36:52 +00:00