From 08ee8537347e51e1639b45d84b7a5dcb38778b4f Mon Sep 17 00:00:00 2001 From: Alexander Astapchuk Date: Sat, 13 Jan 2007 17:07:27 +0600 Subject: [PATCH 4/6] [drlvm][fastcc]Fast calling convention for IA-32; part vm --- vm/include/jit_import.h | 27 ++++++++++++++++++++++++--- vm/include/jit_intf.h | 10 +++------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/vm/include/jit_import.h b/vm/include/jit_import.h index 736f1aa..4e86b15 100644 --- a/vm/include/jit_import.h +++ b/vm/include/jit_import.h @@ -474,11 +474,32 @@ VMEXPORT Boolean jit_may_inline_object_s Boolean *jit_clears_ccv); typedef enum CallingConvention { + /** + * Empty value. + */ + CC_Unknown, + /** + * A default calling convention for managed code. + * Platform dependent. + */ CC_Vm, - CC_Jrockit, - CC_Rotor, + /** + * STDCALL - where applicable, default platform convention otherwise. + */ CC_Stdcall, - CC_Cdecl + /** + * CDECL - where applicable, default platform convention otherwise. + */ + CC_Cdecl, + /** + * FASTCALL on IA-32, default platform convention otherwise. + */ + CC_Fastcall, + /** + * Special tunable calling convention for managed code on IA-32. + * On other platforms same as CC_Vm. + */ + CC_DRLFast } CallingConvention; VMEXPORT CallingConvention vm_managed_calling_convention(); diff --git a/vm/include/jit_intf.h b/vm/include/jit_intf.h index 3ed963e..af7d39d 100644 --- a/vm/include/jit_intf.h +++ b/vm/include/jit_intf.h @@ -25,8 +25,9 @@ #ifndef _JIT_INTF_H_ #define _JIT_INTF_H_ - -#include "open/types.h" +#include "open/vm.h" +#include "jit_export.h" +#include "jit_import.h" #ifdef __cplusplus extern "C" { @@ -35,11 +36,6 @@ extern "C" { typedef const void *Arg_List_Iterator; // Java only typedef const void *Arg_List_Iter; - -#include "open/vm.h" -#include "jit_export.h" -#include "jit_import.h" - // // The implementation of those types is private to the VM. // The JIT uses them as handles. -- 1.4.4