struct ParamInfoBlock {
uintptr_t buffer_size;
- void **objlist_ptr;
+ uintptr_t *objlist_ptr;
uintptr_t objlist_len;
- void **ptrlist_ptr;
- uintptr_t ptrlist_len;
uintptr_t num_segments;
struct Segment {
void *ptr;
uintptr_t len;
uintptr_t flags;
+ uintptr_t reserved;
} segments[0];
};
}
//
// To throw an IDL exception of type Foo, do this:
// throw_idl(Foo, args, to, foo);
+//
+// FIXME: Instead, maybe a static throw method with noinline and
+// builtin_return_address.
#ifndef POLINTOS_NO_THROW_IDL
#define throw_idl(T, args...) do { \