提交历史

作者 SHA1 备注 提交日期
  sergei eb86cd47c6 * tcgx86_64.g_proc_entry: Don't crash if 'list' is initially empty. Went unnoticed this far because ncgutil.gen_proc_entry_code adds some items before calling cg.g_proc_entry. 9 年之前
  sergei 1b965e6766 * x86: Don't save/restore integer registers that are volatile per calling convention of current procedure. It implies that nothing will be saved for procedures with OLDFPCCALL, FAR16 and PASCAL and calling conventions. OLDFPCCALL restores behavior that was in effect before r25224. 9 年之前
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) 10 年之前
  Jonas Maebe 67b8aceaee * synchronized with privatetrunk till r30095 10 年之前
  Jonas Maebe 79a06b1514 + iphonesim/x86_64 target (64 bit iOS simulator) 10 年之前
  florian 35a04ad095 * modified patch of Paul W to replace leave by mov/pop, resolves #26455 10 年之前
  Jonas Maebe d8c898742a * handle the fact that records containing a single extended value are 10 年之前
  Jonas Maebe 8244d366d0 - moved deallocation of NR_PIC_OFFSET_REG from the x86_64 to the i386 code 11 年之前
  Jonas Maebe b745dcc64c * moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because 11 年之前
  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 年之前
  sergei f508442a7e * Emit everything to the same asmlist (fixing copy-paste error). 11 年之前
  sergei 409e176ded * Factored reusable (SEH-related) piece of code into separate procedure. 11 年之前
  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 年之前
  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 年之前
  sergei 5dda96bdfe - Tcgx86_64.init_register_allocators: removed 'preserved_by_proc' parameter, because it isn't used by RA in any way. 12 年之前
  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 年之前
  florian 94cf650d9a * use lea to adjust stack pointer, this is equal or faster on all modern CPUs than add/sub 12 年之前
  Jonas Maebe 69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so 12 年之前
  florian 2e7fe1aebd * support of avx register requires now proper usage of R_SUBMMWHOLE 13 年之前
  florian 7361e19799 + support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers 13 年之前
  Jonas Maebe 7a0ae38700 + also specify the parameter def when allocating a parameter via 13 年之前
  sergei cbad0abab5 + Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH. 13 年之前
  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 年之前
  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 年之前
  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 年之前
  sergei 4c21beb48e win64 unwinding, misc fixes: 14 年之前
  sergei b997094755 + Generate unwind bytecode for function prologues on win64. 14 年之前
  sergei 9608c4eabe * Interface wrappers must be global when linking smart, Mantis #19462. Other targets already have this condition in place. 14 年之前
  svenbarth 35b47e491c Rebase to revision 17306 14 年之前
  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 年之前