Commit History

Author SHA1 Message Date
  yury 862348c317 * Keep the GOT offset in a virtual register for i386 non-darwin platforms. 9 years ago
  Jonas Maebe 67b8aceaee * synchronized with privatetrunk till r30095 10 years ago
  florian 35a04ad095 * modified patch of Paul W to replace leave by mov/pop, resolves #26455 10 years ago
  Jonas Maebe 8244d366d0 - moved deallocation of NR_PIC_OFFSET_REG from the x86_64 to the i386 code 10 years ago
  Jonas Maebe b745dcc64c * moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because 11 years ago
  Jonas Maebe a637fbe596 * moved all g_exception_*() methods to hlcgobj and cleaned them up (no more 11 years ago
  sergei 31edfdc05f * i386: push references with size OS_F64 using less instructions. 11 years ago
  sergei 0d3f36eebf - Remove references to global variable 'cg' from methods of tcg and some of its descendants. 11 years ago
  pierre 1cec09f979 Add -Caoldwin32gnu ABI option to cope with 'ret $4' issues in old GNU mingw32 C compiler (version below 4.7) 11 years ago
  sergei f2096de53a * tcg386.g_proc_exit: instead of recalculating stack size, use current_procinfo.final_localsize which was calculated in g_proc_entry. 11 years ago
  sergei 179586f589 + SEH support for Win32. Enable by cycling with OPT=-dTEST_WIN32_SEH. 11 years ago
  nickysn 85e1f444c5 * is_ecx_used modified to only check the callee side, but after a call to 11 years ago
  nickysn fbca7ee2cb * check callerside if calleeside isn't available in is_ecx_used. Based on the 11 years ago
  nickysn a0723ccfd5 * also check if ECX is nonvolatile in is_ecx_used. Not strictly necessary for the current set of i386 calling conventions, but good as an extra safety precaution in case new calling conventions are added or the code is adapted and used on other platforms. 11 years ago
  nickysn 378afb69b2 * optimization in tcg386.g_intf_wrapper: use the much more efficient case 1 11 years ago
  nickysn aca22a59f7 * optimizations in tcg386.g_copyvaluepara_openarray in order to avoid the 11 years ago
  nickysn bd0585274e * tsettings.enablecld converted to a targetswitch ts_cld 12 years ago
  nickysn 52fcc0a407 + added a new x86-specific compiler option 'enablecld', which controls whether 12 years ago
  nickysn 5c46e6f474 * emit a cld instruction before the rep movsXX in tcg386.g_copyvaluepara_openarray 12 years ago
  sergei 5c4abfa75a + Implemented saving/restoring registers using PUSH/POP instructions on i386 targets with non-fixed stack. Provides some advantage in code size (e.g. the compiler becomes about 20KBytes smaller). 12 years ago
  florian 94cf650d9a * use lea to adjust stack pointer, this is equal or faster on all modern CPUs than add/sub 12 years ago
  paul 51825b6f2e compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation) 12 years ago
  pierre 5b5a5ab7af + Add EXTDEBUG warning if pi_needs_got was not set in pass_1 13 years ago
  Jonas Maebe b1dc518ac4 * removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead 13 years ago
  florian 3a9e3991be * the switch -Oouseebp allows the i386 compiler to use ebp as normal register 13 years ago
  Jonas Maebe d6066ed51a * fixed compilation for i386/m68k after r21878/21879 13 years ago
  pierre b9f8934d7e * Fix for go32v2 specific failure in test/cg/tcalval5 with -Aas option 13 years ago
  sergei 78c0215447 Preparations to native threadvar support: 13 years ago
  florian ce76ce8769 * fixed wrong tmpref usage as mentioned by Pierre on the mailing list 14 years ago
  florian 69e7d8b02f * generate correct PIC in tcg386.a_loadaddr_ref_cgpara, resolves #19464 14 years ago