aboutsummaryrefslogtreecommitdiff
path: root/thunk.h
diff options
context:
space:
mode:
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-19 01:06:24 +0000
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-19 01:06:24 +0000
commit265531154a05a26e9b79819ddd068c285e681cbc (patch)
tree9ac8b78b3210403d76bc41ad4dddfe46c2ad5121 /thunk.h
parent3f4afa145e4f7825c2071fab66f7ed4c7baf5e77 (diff)
Fix attempt to inline recursive functions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3700 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'thunk.h')
-rw-r--r--thunk.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/thunk.h b/thunk.h
index 4bf256a004..d650fa4c13 100644
--- a/thunk.h
+++ b/thunk.h
@@ -75,6 +75,9 @@ const argtype *thunk_convert(void *dst, const void *src,
extern StructEntry struct_entries[];
+int thunk_type_size_array(const argtype *type_ptr, int is_host);
+int thunk_type_align_array(const argtype *type_ptr, int is_host);
+
static inline int thunk_type_size(const argtype *type_ptr, int is_host)
{
int type, size;
@@ -103,7 +106,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host)
break;
case TYPE_ARRAY:
size = type_ptr[1];
- return size * thunk_type_size(type_ptr + 2, is_host);
+ return size * thunk_type_size_array(type_ptr + 2, is_host);
case TYPE_STRUCT:
se = struct_entries + type_ptr[1];
return se->size[is_host];
@@ -139,7 +142,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host)
}
break;
case TYPE_ARRAY:
- return thunk_type_align(type_ptr + 2, is_host);
+ return thunk_type_align_array(type_ptr + 2, is_host);
case TYPE_STRUCT:
se = struct_entries + type_ptr[1];
return se->align[is_host];