[PATCH] jato: make system properties table-driven

2009-07-04 Thread Vegard Nossum
This makes it easier to add new system properties in the future, and error handling is confined to a single place in the source code. Signed-off-by: Vegard Nossum --- vm/jato.c | 32 +++- 1 files changed, 19 insertions(+), 13 deletions(-) diff --git a/vm/jato.c b/v

[PATCH 1/6] vm: move interface loading to class linking

2009-07-04 Thread Vegard Nossum
Signed-off-by: Vegard Nossum --- include/vm/class.h |1 + vm/class.c | 38 ++ vm/itable.c| 23 +-- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/include/vm/class.h b/include/vm/class.h index cf07dc7

[PATCH 5/6] vm: provide VMObject.clone() native stub

2009-07-04 Thread Vegard Nossum
Signed-off-by: Vegard Nossum --- vm/jato.c |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/vm/jato.c b/vm/jato.c index 41e9e73..492550c 100644 --- a/vm/jato.c +++ b/vm/jato.c @@ -174,6 +174,13 @@ static int32_t __vm_native native_vmsystem_identityhashcode(struct v

[PATCH 4/6] vm: provide VMRuntime.mapLibraryName() stub

2009-07-04 Thread Vegard Nossum
Signed-off-by: Vegard Nossum --- vm/jato.c |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/vm/jato.c b/vm/jato.c index 899361b..41e9e73 100644 --- a/vm/jato.c +++ b/vm/jato.c @@ -100,6 +100,13 @@ static void __vm_native native_vmruntime_exit(int status) exi

[PATCH 3/6] vm: add file.separator and path.separator properties to VMSystemProperties

2009-07-04 Thread Vegard Nossum
This is needed for java.io.File. Signed-off-by: Vegard Nossum --- vm/jato.c |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/vm/jato.c b/vm/jato.c index 7e2ef1f..899361b 100644 --- a/vm/jato.c +++ b/vm/jato.c @@ -84,6 +84,14 @@ static void __vm_native native_vmsys

[PATCH 6/6] vm: use recursive mutexes for monitors

2009-07-04 Thread Vegard Nossum
Java monitors are reentrant, so our mutexes should be as well (i.e. calling a synchronized method from within another, both on the same object, should not deadlock). Reported-by: Tomek Grabiec Signed-off-by: Vegard Nossum --- include/vm/object.h |2 ++ vm/jato.c |2 ++ vm/obje

[PATCH 2/6] vm: fix vm_class_is_assignable_from

2009-07-04 Thread Vegard Nossum
Now we take interfaces into account as well. Signed-off-by: Vegard Nossum --- vm/class.c |6 +- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/vm/class.c b/vm/class.c index d4f099b..f3f1512 100644 --- a/vm/class.c +++ b/vm/class.c @@ -753,7 +753,11 @@ bool vm_class_is_ass

[RFC][PATCH 1/2] cafebabe: introduce cafebabe_class_get_source_file_name()

2009-07-04 Thread Tomek Grabiec
This also adds support for reading SourceFile class attribute Signed-off-by: Tomek Grabiec --- Makefile |1 + cafebabe/include/cafebabe/class.h|1 + cafebabe/include/cafebabe/sourcefile_attribute.h | 51 +++ cafeba

[PATCH] vm: set message of ExceptionInInitializerError to erroneous class name

2009-07-04 Thread Tomek Grabiec
Signed-off-by: Tomek Grabiec --- vm/class.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/vm/class.c b/vm/class.c index 9efb7a7..e2fbb9f 100644 --- a/vm/class.c +++ b/vm/class.c @@ -408,7 +408,7 @@ int vm_class_init(struct vm_class *vmc) signal_new_exc

[RFC][PATCH] vm: load source file name of a class by reading SourceFile class attribute

2009-07-04 Thread Tomek Grabiec
Signed-off-by: Tomek Grabiec --- vm/class.c | 35 +++ vm/classloader.c |5 + 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/vm/class.c b/vm/class.c index 96405db..9efb7a7 100644 --- a/vm/class.c +++ b/vm/class.c @@ -33,6 +33,7 @@

[GIT PULL] invokeinterface

2009-07-04 Thread Vegard Nossum
Hi, The following changes since commit 0ba959dfd181e0c11c605b847831cee46a87c1a9: Arthur Huillet (1): x86: factorize code for INVOKE and FINVOKE are available in the git repository at: git://github.com/vegard/jato.git for-pekka (Note: I'm sending this as a pull request in order to pr

[PATCH] x86: speed up floating point value argument passing

2009-07-04 Thread Arthur Huillet
We now push directly the floating point immediate value when we have one instead of going through the XMM registers back to memory. Signed-off-by: Arthur Huillet --- arch/x86/insn-selector_32.brg | 14 +- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/arch/x86/insn

Re: [PATCH 2/2] vm: preload methods used in stack-trace.c

2009-07-04 Thread Pekka Enberg
Tomek Grabiec wrote: > @@ -229,7 +232,24 @@ static const struct method_preload_entry > method_preload_entries[] = { > "(Ljava/lang/Throwable;)Ljava/lang/Throwable;", > &vm_java_lang_Throwable_initCause, > }, > - > + { > + &vm_java_lang_StackTraceEl

[PATCH] x86: performance improvements at the beginning of functions

2009-07-04 Thread Arthur Huillet
introduce freg: EXPR_LOCAL and stmt_store: STMT_STORE(EXPR_TEMPORARY, EXPR_LOCAL) Signed-off-by: Arthur Huillet --- arch/x86/insn-selector_32.brg | 44 +++- 1 files changed, 42 insertions(+), 2 deletions(-) diff --git a/arch/x86/insn-selector_32.brg b/arch

[PATCH] vm: fix 'make test' breakage

2009-07-04 Thread Tomek Grabiec
Introduced in commit "vm: introduce fault injection into VM" Signed-off-by: Tomek Grabiec --- test/arch-x86/Makefile |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/test/arch-x86/Makefile b/test/arch-x86/Makefile index 8e2526a..a374120 100644 --- a/test/arch-x86/Makefile

[PATCH 2/2] regression: introduce ClassExceptionsTest

2009-07-04 Thread Tomek Grabiec
Signed-off-by: Tomek Grabiec --- Makefile|3 +- regression/jvm/ClassExceptionsTest.java | 66 +++ regression/run-suite.sh |1 + 3 files changed, 69 insertions(+), 1 deletions(-) create mode 100644 regression/j

[PATCH 1/2] vm: introduce fault injection into VM

2009-07-04 Thread Tomek Grabiec
This lets us enabled/disable specific VM faults from regression tests Signed-off-by: Tomek Grabiec --- Makefile |3 +- include/vm/fault-inject.h| 23 regression/jato/internal/VM.java |4 ++ vm/class.c | 26 +++

[PATCH 2/2] vm: preload methods used in stack-trace.c

2009-07-04 Thread Tomek Grabiec
Signed-off-by: Tomek Grabiec --- include/vm/preload.h |4 vm/jato.c|2 -- vm/preload.c | 22 +- vm/stack-trace.c | 45 ++--- 4 files changed, 31 insertions(+), 42 deletions(-) diff --git a/inclu

[PATCH 1/2] vm: cleanups in preload.c

2009-07-04 Thread Tomek Grabiec
Signed-off-by: Tomek Grabiec --- vm/preload.c | 137 +++--- 1 files changed, 112 insertions(+), 25 deletions(-) diff --git a/vm/preload.c b/vm/preload.c index 264d7ab..5c8a181 100644 --- a/vm/preload.c +++ b/vm/preload.c @@ -64,25 +64,82 @@ s