-/* vm/jit/tools/genoffsets.c - generate asmpart offsets of structures
+/* src/vm/jit/tools/genoffsets.c - generate asmpart offsets of structures
Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
Changes:
- $Id: genoffsets.c 2122 2005-03-29 22:12:06Z twisti $
+ $Id: genoffsets.c 3890 2005-12-05 22:10:54Z twisti $
*/
#include <stdio.h>
-#include "config.h"
-#include "types.h"
+#include "vm/types.h"
+
+#include "vm/global.h"
#include "mm/memory.h"
#include "vm/linker.h"
#include "vm/method.h"
-#include "vm/global.h"
+#include "vm/class.h"
#include "vm/jit/asmpart.h"
+#include "vm/jit/stacktrace.h"
int main(int argc, char **argv)
{
- printf("/* This file is machine generated, don't edit it !*/\n\n");
-
- printf("#define offobjvftbl %3d\n", (s4) OFFSET(java_objectheader, vftbl));
- printf("#define offarraysize %3d\n", (s4) OFFSET(java_arrayheader, size));
- printf("#define offobjarrdata %3d\n\n", (s4) OFFSET(java_objectarray, data[0]));
+ printf("/* This file is machine generated, don't edit it! */\n\n");
- printf("#define offbaseval %3d\n", (s4) OFFSET(vftbl_t, baseval));
- printf("#define offdiffval %3d\n\n", (s4) OFFSET(vftbl_t, diffval));
+ printf("/* define some sizeof()'s */\n\n");
- printf("#define offclass %3d\n\n", (s4) OFFSET(vftbl_t, class));
+ printf("#define sizejniblock %3d\n", (s4) sizeof(jni_callblock));
+ printf("#define sizestackframeinfo %3d\n", (s4) sizeof(stackframeinfo));
- printf("#define offclassvftbl %3d\n", (s4) OFFSET(classinfo, vftbl));
- printf("#define offclassinit %3d\n", (s4) OFFSET(classinfo, initialized));
- printf("#define offclassloaded %3d\n", (s4) OFFSET(classinfo, loaded));
- printf("#define offclasslinked %3d\n\n", (s4) OFFSET(classinfo, linked));
+ printf("\n\n/* define some offsets */\n\n");
- printf("#define offjniitemtype %3d\n", (s4) OFFSET(jni_callblock, itemtype));
- printf("#define offjniitem %3d\n", (s4) OFFSET(jni_callblock, item));
- printf("#define sizejniblock %3d\n\n", (s4) sizeof(jni_callblock));
+ printf("#define offobjvftbl %3d\n", (s4) OFFSET(java_objectheader, vftbl));
+ printf("\n\n");
- printf("#define offclassmethodinfo %3d\n\n", (s4) OFFSET(methodinfo,class));
+ printf("/* vftbl_t */\n\n");
+ printf("#define offbaseval %3d\n", (s4) OFFSET(vftbl_t, baseval));
+ printf("#define offdiffval %3d\n", (s4) OFFSET(vftbl_t, diffval));
+ printf("\n\n");
- printf("#define offmethodnative %3d\n", (s4) OFFSET(native_stackframeinfo,method));
- /* printf("#define offreturnfromnative %3d\n", (s4) OFFSET(native_stackframeinfo,returnFromNative));
- printf("#define offaddrreturnfromnative %3d\n", (s4) OFFSET(native_stackframeinfo,addrReturnFromNative));
- printf("#define offprevnative %3d\n", (s4) OFFSET(native_stackframeinfo,prev));
- printf("#define offnextnative %3d\n", (s4) OFFSET(native_stackframeinfo,next));*/
+ printf("/* classinfo */\n\n");
+ printf("#define offclassvftbl %3d\n", (s4) OFFSET(classinfo, vftbl));
+ printf("\n\n");
- printf("\n");
+ printf("#define offjniitemtype %3d\n", (s4) OFFSET(jni_callblock, itemtype));
+ printf("#define offjniitem %3d\n", (s4) OFFSET(jni_callblock, item));
+ printf("\n\n");
- printf("#define offcast_super_baseval %3d\n", (s4) OFFSET(castinfo, super_baseval));
- printf("#define offcast_super_diffval %3d\n", (s4) OFFSET(castinfo, super_diffval));
- printf("#define offcast_sub_baseval %3d\n", (s4) OFFSET(castinfo, sub_baseval));
+ printf("#define offcast_super_baseval %3d\n", (s4) OFFSET(castinfo, super_baseval));
+ printf("#define offcast_super_diffval %3d\n", (s4) OFFSET(castinfo, super_diffval));
+ printf("#define offcast_sub_baseval %3d\n", (s4) OFFSET(castinfo, sub_baseval));
/* everything is ok */