Commit History

Author SHA1 Message Date
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) 10 years ago
  Jonas Maebe 67b8aceaee * synchronized with privatetrunk till r30095 10 years ago
  Jonas Maebe 79a06b1514 + iphonesim/x86_64 target (64 bit iOS simulator) 10 years ago
  florian 35a04ad095 * modified patch of Paul W to replace leave by mov/pop, resolves #26455 10 years ago
  Jonas Maebe d8c898742a * handle the fact that records containing a single extended value are 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
  florian d8c0f11ff9 + cs_userbp optimizer switch, so on x86-64 the compiler can make use of rbp if it is not needed as frame pointer 11 years ago
  sergei f508442a7e * Emit everything to the same asmlist (fixing copy-paste error). 11 years ago
  sergei 409e176ded * Factored reusable (SEH-related) piece of code into separate procedure. 11 years ago
  sergei da2887a4ec * x86_64-win64: SEH finalization procedures have frame pointer set to RBP but since r25389 they save registers relative to RSP. Fixed offsets for .seh_savereg/.seh_savexmm directives. 12 years ago
  sergei e41149a7ec * x86_64: reworked register saving/restoring to use PUSH/POP instructions for procedures with RSP-based frame and SEH finalization procedures. XMM registers are also saved/restored without involving tempgen in mentioned cases. This prevents SEH finalization procedures from saving registers in stack frame of their parent procedures, fixing incorrect unwind bytecode (Mantis #24791). It also reduces executable size (for compiler itself, by about 100Kb). 12 years ago
  sergei 5dda96bdfe - Tcgx86_64.init_register_allocators: removed 'preserved_by_proc' parameter, because it isn't used by RA in any way. 12 years ago
  sergei 1f72143eef * In preparation for fixing Mantis #24791: Copy related code from tcgx86.g_proc_entry to tcgx86_64.g_proc_entry, and remove win64-specific stuff from tcgx86 version. 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
  Jonas Maebe 69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so 12 years ago
  florian 2e7fe1aebd * support of avx register requires now proper usage of R_SUBMMWHOLE 13 years ago
  florian 7361e19799 + support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers 13 years ago
  Jonas Maebe 7a0ae38700 + also specify the parameter def when allocating a parameter via 13 years ago
  sergei cbad0abab5 + Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH. 13 years ago
  sergei fde1695961 * tcgx86_64.g_proc_exit: restore stack pointer using value that was calculated and stored in tcgx86.g_proc_entry, instead of recalculating it again. 13 years ago
  sergei fffa4a35a0 * x86_64: Don't waste time initializing/finalizing saved_standard_registers and saved_mm_registers arrays on every procedure. Initialize once, reinitialize if target system happens to change, and let finalization happen implicitly on shutdown. 13 years ago
  sergei 85f7914906 * Don't generate .seh_endprologue if SEH directives are present in the text of (pure assembler) procedure, as it results in duplicate .seh_endprologue. 14 years ago
  sergei 4c21beb48e win64 unwinding, misc fixes: 14 years ago
  sergei b997094755 + Generate unwind bytecode for function prologues on win64. 14 years ago
  sergei 9608c4eabe * Interface wrappers must be global when linking smart, Mantis #19462. Other targets already have this condition in place. 14 years ago
  svenbarth 35b47e491c Rebase to revision 17306 14 years ago
  sergei c939beee70 * Changed register allocation order for x86_64, putting first registers that don't need to be preserved by procedure. This way registers needing preservation are allocated less frequently (and for non-complex leaf functions not allocated at all), reducing amount of entry/exit code. 14 years ago
  svenbarth 96116a6c3a Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either. 14 years ago
  paul b317139006 compiler: fix compilation problems caused by tprocdef._class -> tprocdef.struct rename which was found by make fullcycle 14 years ago