Commit History

Author SHA1 Message Date
  nickysn 34113b930b * removed the checkoverflow: boolean parameter of the software mul helpers; 8 years ago
  nickysn ba665e103c + added sqr(shortint) and sqr(smallint) for CPUs with 8/16-bit alu 8 years ago
  nickysn 78a7445751 + added Odd(byte) and Odd(shortint) for cpus with 8-bit alu and Odd(word)/ 8 years ago
  nickysn fa645dcaf7 + added abs(smallint) and abs(shortint) for cpus with 8-bit or 16-bit alu 8 years ago
  Károly Balogh 346f040a54 also try to inline 32bit SwapEndian variants, as they're still reasonably simple 8 years ago
  pierre ded1fb23a2 Improve stack trace output with -Cr option, contributed by Colin Western 8 years ago
  pierre d2d1794b40 Use HandleError instead of RunError in fpc_help_destructor, fpc_check_object and fpc_check_object_ext 8 years ago
  nickysn b14f277e8f + use rtl helpers for 64-bit shl/shr/sar/rol/ror modify in place operations, on 8 years ago
  florian 86f0b59095 * avoid conversion to larger type in Align 8 years ago
  pierre b9e6938519 Correct behavior: if VMT becomes NIL, RTE 219 must be generated as this happens if EXPVMT is not an ancestor of starting VMT 9 years ago
  svenbarth 59303c5113 Fix -CR after the recent VMT changes. 9 years ago
  florian 2b082d88a6 * generic implementation of fpc_pchar_length uses IndexByte instead of a simple while loop 9 years ago
  florian 91c59cb512 * fix Fill* code for CPUs with 8 Bit ALU 9 years ago
  nickysn db7b743139 * yet another longint replaced with objpasint in fpc_shortstr_compare_equal 9 years ago
  nickysn b561b3c2ba * use objpasint (generates better code on 16-bit and 8-bit cpus) instead of 9 years ago
  florian 590ec0f3e6 * more procedures excluded to avoid internalerrors on avr after the trgobj.conservative fix 10 years ago
  florian ba1297b1ab + provide also 8 and 16 bit div/mod helper 10 years ago
  Jonas Maebe b4033efc00 * fixed typo in comment 10 years ago
  Jonas Maebe ff020a3be4 + "Utf8CodePointLen(pansichar,MaxLookAhead,IncludeCombiningDiacriticalMarks): 10 years ago
  Károly Balogh 05e72f52c6 a slightly better generic implementation for SwapEndian() 32 bit and 64 bit ints 11 years ago
  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. 11 years ago
  sergei 217ab9879c * Enabled internal handling of Abs(longint) for all targets. It has been implemented in cross-platform way ages ago (see tcginlinenode.second_abs_long), but not enabled on MIPS,SPARC and m68k. 11 years ago
  nickysn 48c5d9d213 * tobjectvmt.size and .msize in the rtl changed to sizeuint, because ptruint is 11 years ago
  nickysn e471a7dd2c * use ObjpasInt, instead of nativeint in fpc_div_dword and fpc_mod_dword 11 years ago
  sergei 94a045aa3d * Moved declarations of TFPURoundingMode,TFPUExceptionMask and TFPUPrecisionMode to System unit. Declarations in Math unit changed to aliases. 11 years ago
  sergei a1dfaa54dd * Fixed exception handling in constructors of TP-style objects to correctly handle cases of statically allocated objects (must call destructor but do not free memory) and objects without destructor (must free memory if it was allocated dynamically). 11 years ago
  sergei 1626667374 * Object helper routines review/improvement for alignment-sensitive targets: 11 years ago
  nickysn 48edf78003 * make BSR/BSF return byte, instead of cardinal on 16/8-bit targets 11 years ago
  nickysn 5c8aa6e5b0 * fpc_mul_integer and fpc_mul_longint: fallback directly to the unsigned 11 years ago
  nickysn d4e01637e7 * use nativeint, instead of longint in fpc_div_dword and fpc_mod_dword, because 11 years ago