search for: fastcalls

Displaying 20 results from an estimated 231 matches for "fastcalls".

Did you mean: fastcall
2007 Apr 18
5
[PATCH] paravirt.h
This version over last version: (1) Gets rid of the no_paravirt.h header and leaves native ops in place (with some reshuffling to keep then under one #ifdef). (2) Fixes the "X crashes with CONFIG_PARAVIRT=y" bug. (3) Puts __ex_table entry in paravirt iret. Another followup patch implements binary patching... Rusty. === Create a paravirt.h header for all the critical operations which
2007 Apr 18
5
[PATCH] paravirt.h
This version over last version: (1) Gets rid of the no_paravirt.h header and leaves native ops in place (with some reshuffling to keep then under one #ifdef). (2) Fixes the "X crashes with CONFIG_PARAVIRT=y" bug. (3) Puts __ex_table entry in paravirt iret. Another followup patch implements binary patching... Rusty. === Create a paravirt.h header for all the critical operations which
2007 Apr 18
3
[PATCH 1/2] paravirt.h header
OK, this is the revised paravirt.h (Andi has seen this before), then the second is the binary patching stuff. More things get added to the paravirt struct in future patches, but this basic stuff hasn't changed for some time. ==== This patch does the dumbest possible replacement of paravirtualized instructions: calls through a "paravirt_ops" structure. Currently these are function
2007 Apr 18
1
[PATCH] paravirt build fix
Currently, 020-paravirt-xen.patch contains inconsistent declarations for a bunch of native_read/write functions. This patch updates the declarations to use unsigned long for register values. Signed-off-by: James Morris <jmorris@redhat.com> --- include/asm-i386/paravirt.h | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff -purN -X dontdiff
2007 Apr 18
1
[PATCH] paravirt build fix
Currently, 020-paravirt-xen.patch contains inconsistent declarations for a bunch of native_read/write functions. This patch updates the declarations to use unsigned long for register values. Signed-off-by: James Morris <jmorris@redhat.com> --- include/asm-i386/paravirt.h | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff -purN -X dontdiff
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to
2007 Oct 05
5
[LLVMdev] RFC: Tail call optimization X86
On 5 Oct 2007, at 20:00, Dale Johannesen wrote: >>> I am not to sure on that. because that would make modules compiled >>> with the flag on incompatible with ones compiled without the flag >>> off >>> as stack behaviour would mismatch. >>> It would be no problem to make the behaviour dependent on the -tail- >>> call-opt flag. i am not sure
2009 Apr 03
1
[LLVMdev] php crash
I tried the version you used, too. the resulting executable was still broken. I guess the reason is due to fastcall on function pointers, which Clang does not recognize. Consider the following snippet. #include <stdio.h> void __attribute__((fastcall)) f(int i) { printf("%d\n", i); } typedef void (*__attribute__((fastcall)) f_t)(int i); //typedef void
2019 Sep 20
2
About detailed rule of fastcall
Hello. I'm trying to understand how fastcall works. As far as I know, first two integer type arguments are passed in ecx and edx. I tested several test, but the result was different from what I expected #1 typedef struct _data_t { int d; } data_t; void __attribute__((fastcall)) test_suuu(data_t s, unsigned int a, unsigned int b, unsigned int c); unsigned int a is passed
2007 Oct 05
0
[LLVMdev] RFC: Tail call optimization X86
On Fri, 5 Oct 2007, Arnold Schwaighofer wrote: >> to me like llvm-gcc honors that. Certainly it should. > > This would imply one fastcc abi (callee pops args on return) to rule > them all? > That is only if fastcall translates to llvm fastcc of course. fastcall != fastcc. fastcall is a well defined convention on x86 that has very specific ABI requirements. fastcc, on the
2012 Oct 19
4
[LLVMdev] How to represent __attribute__((fastcall)) functions in the IL
Functions with __attribute__((fastcall)) pop their arguments and take up to two arguments in ecx and edx. Currently we represent them by just setting the x86_fastcallcc calling convention. The problem is that the ABI has some strange conventions on when a register is used or not. For example: void __attribute__((fastcall)) foo1(int y); will take 'y' in ecx, but struct S1 { int x; };
2012 Oct 19
0
[LLVMdev] How to represent __attribute__((fastcall)) functions in the IL
Personally, I'd love to see a setup where instead of LLVM implementing each calling convention and ABI hack, we provide a means of actually describing this. Specifically, I'd love to see a design for how to specify in the IR which register(s) (if any register(s)) a particular value should be placed into. Don't get me wrong, I don't have any good ideas about how to do this, I'm
2008 Sep 30
2
[LLVMdev] Possible bug in x86 code generation for fastcall on gnu/linux
Hi, When compiling this function: __attribute__((fastcall)) int f(int x, int y) { return 0; } llvm 2.3 produces the following x86 assembler (with directives removed): f: xorl %eax, %eax ret $4 Where as GCC (version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) produces: f: xorl %eax, %eax ret Note the difference in ret. Functions calling a fastcall function in llvm adjust the stack by 4 to
2013 Jan 10
1
[LLVMdev] attributes
On 01/09/2013 02:44 PM, Eli Friedman wrote: > On Wed, Jan 9, 2013 at 2:19 PM, reed kotler <rkotler at mips.com> wrote: >> On 01/09/2013 01:19 PM, Sean Silva wrote: >>> On Wed, Jan 9, 2013 at 4:14 PM, reed kotler <rkotler at mips.com> wrote: >>>> Does anyone know offhand where this gets added to clang and where the >>>> hook >>>> for
2007 Apr 18
0
[PATCH 4/5] Vmi.patch
VMI backend for paravirt-ops; fairly straightforward drop-in to paravirt-ops. Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r d8711b11c1eb arch/i386/Kconfig --- a/arch/i386/Kconfig Tue Dec 12 13:51:06 2006 -0800 +++ b/arch/i386/Kconfig Tue Dec 12 13:51:13 2006 -0800 @@ -192,6 +192,15 @@ config PARAVIRT under a hypervisor, improving performance significantly. However, when
2007 Apr 18
0
[PATCH 4/5] Vmi.patch
VMI backend for paravirt-ops; fairly straightforward drop-in to paravirt-ops. Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r d8711b11c1eb arch/i386/Kconfig --- a/arch/i386/Kconfig Tue Dec 12 13:51:06 2006 -0800 +++ b/arch/i386/Kconfig Tue Dec 12 13:51:13 2006 -0800 @@ -192,6 +192,15 @@ config PARAVIRT under a hypervisor, improving performance significantly. However, when
2007 Apr 18
0
[PATCH 5/6] VMI backend for paravirt-ops
Fairly straightforward implementation of VMI backend for paravirt-ops. Subject: VMI backend for paravirt-ops Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r d8711b11c1eb arch/i386/Kconfig --- a/arch/i386/Kconfig Tue Dec 12 13:51:06 2006 -0800 +++ b/arch/i386/Kconfig Tue Dec 12 13:51:13 2006 -0800 @@ -192,6 +192,15 @@ config PARAVIRT under a hypervisor, improving performance
2007 Apr 18
0
[PATCH 5/6] VMI backend for paravirt-ops
Fairly straightforward implementation of VMI backend for paravirt-ops. Subject: VMI backend for paravirt-ops Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r d8711b11c1eb arch/i386/Kconfig --- a/arch/i386/Kconfig Tue Dec 12 13:51:06 2006 -0800 +++ b/arch/i386/Kconfig Tue Dec 12 13:51:13 2006 -0800 @@ -192,6 +192,15 @@ config PARAVIRT under a hypervisor, improving performance
2007 Apr 18
0
[PATCH 1/5] Paravirt page alloc.patch
The VMI backend uses explicit page type notification to track shadow page tables. The allocation of page table roots is especially tricky. We want to clone the root for non-PAE mode while it is protected under the pgd lock. Signed-off-by: Zachary Amsden <zach@vmware.com> =================================================================== --- a/arch/i386/kernel/paravirt.c +++