On Tue, 2009-08-11 at 01:10 +0200, Tomek Grabiec wrote:
> Signed-off-by: Tomek Grabiec
> ---
> jit/expression.c |2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/jit/expression.c b/jit/expression.c
> index 3acbd3c..e1001a1 100644
> --- a/jit/expression.c
> +++ b/jit/
Signed-off-by: Tomek Grabiec
---
jit/expression.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/jit/expression.c b/jit/expression.c
index 3acbd3c..e1001a1 100644
--- a/jit/expression.c
+++ b/jit/expression.c
@@ -551,7 +551,7 @@ struct expression *arraylength_expr(stru
Signed-off-by: Tomek Grabiec
---
jit/expression.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/jit/expression.c b/jit/expression.c
index 428b94a..3acbd3c 100644
--- a/jit/expression.c
+++ b/jit/expression.c
@@ -542,7 +542,7 @@ struct expression *multianewarray_expr(s
Otherwise we get SIGSEGV when passing -Dkey=value options.
Signed-off-by: Tomek Grabiec
---
vm/jato.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/vm/jato.c b/vm/jato.c
index e18cf62..9f73d8c 100644
--- a/vm/jato.c
+++ b/vm/jato.c
@@ -1185,9 +1185,10 @@ main(int arg
We should use jdouble and jfloat, or otherwise there will
be implicit argument conversion from uint64_t to double
when array_get_field_double() will be called in
vm_jni_release_double_array_elements() with jdouble
argument.
This bug caused that
gnu/java/awt/peer/gtk/FreetypeGlyphVector.getMetrics
Signed-off-by: Tomek Grabiec
---
arch/x86/insn-selector.brg | 30 ++
regression/jvm/DoubleArithmeticTest.java | 16 ++--
2 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.b
Add instructions:
INSN_FNSTCW_MEMBASE - store fpu control word
INSN_FLDCW_MEMBASE - load fpu control word
INSN_FISTP_64_MEMBASE - store double value as 64-bit integer with truncation.
Signed-off-by: Tomek Grabiec
---
arch/x86/emit-code.c| 18 ++
arch/x86/include
Signed-off-by: Tomek Grabiec
---
arch/x86/insn-selector.brg | 27 +--
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.brg
index 41ab693..297ef7f 100644
--- a/arch/x86/insn-selector.brg
+++ b/arch/x86/in
Is needed for d2l.
Signed-off-by: Tomek Grabiec
---
arch/x86/emit-code.c|8
arch/x86/include/arch/instruction.h |1 +
arch/x86/lir-printer.c |7 +++
arch/x86/use-def.c |1 +
4 files changed, 17 insertions(+), 0 deletions(
Signed-off-by: Tomek Grabiec
---
arch/x86/insn-selector.brg | 27 +--
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.brg
index 41ab693..297ef7f 100644
--- a/arch/x86/insn-selector.brg
+++ b/arch/x86/in
Signed-off-by: Tomek Grabiec
---
arch/x86/insn-selector.brg |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.brg
index 40fc329..e753fc9 100644
--- a/arch/x86/insn-selector.brg
+++ b/arch/x86/insn-selector.brg
@@ -2454
Signed-off-by: Tomek Grabiec
---
include/vm/system.h | 10 ++
vm/jni-interface.c | 47 +--
2 files changed, 35 insertions(+), 22 deletions(-)
diff --git a/include/vm/system.h b/include/vm/system.h
index 2ce6012..bfe3112 100644
--- a/inclu
Signed-off-by: Tomek Grabiec
---
vm/jni-interface.c | 50 +-
1 files changed, 49 insertions(+), 1 deletions(-)
diff --git a/vm/jni-interface.c b/vm/jni-interface.c
index d357da6..29d8061 100644
--- a/vm/jni-interface.c
+++ b/vm/jni-interface.c
@
Signed-off-by: Tomek Grabiec
---
vm/reflection.c | 26 ++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/vm/reflection.c b/vm/reflection.c
index 90e4add..3357f9e 100644
--- a/vm/reflection.c
+++ b/vm/reflection.c
@@ -1,3 +1,29 @@
+/*
+ * Copyright (c) 2
Signed-off-by: Tomek Grabiec
---
vm/jni-interface.c | 37 +
1 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/vm/jni-interface.c b/vm/jni-interface.c
index 4bef032..d357da6 100644
--- a/vm/jni-interface.c
+++ b/vm/jni-interface.c
@@ -799,6 +799
It protects agains invalid register allocation for temporary.
It fixes the bug in convert_array_load() where the high register
was always set to NULL.
Signed-off-by: Tomek Grabiec
---
include/jit/expression.h |2 +-
jit/expression.c | 14 ++
jit/object-bc.c
This adds support for laload and lastore for x86.
Signed-off-by: Tomek Grabiec
---
arch/x86/insn-selector.brg| 24 ++--
regression/jvm/ArrayTest.java |2 +-
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-se
Signed-off-by: Tomek Grabiec
---
vm/reflection.c | 14 ++
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/vm/reflection.c b/vm/reflection.c
index c84eb49..90e4add 100644
--- a/vm/reflection.c
+++ b/vm/reflection.c
@@ -9,6 +9,9 @@
#include "jit/args.h"
#include "ji
Signed-off-by: Tomek Grabiec
---
include/vm/call.h |4 ++
include/vm/reflection.h |6 +++
vm/call.c | 24 +
vm/jato.c |1 +
vm/reflection.c | 93 +++
5 files changed, 121 insertions(
This also implements Constructor.getParameterTypes()
Signed-off-by: Tomek Grabiec
---
include/vm/reflection.h |2 +
vm/jato.c |1 +
vm/reflection.c | 98 ---
3 files changed, 95 insertions(+), 6 deletions(-)
diff --git
Returns the count of java arguments that are passed to method.
Signed-off-by: Tomek Grabiec
---
include/vm/types.h |1 +
jit/invoke-bc.c| 14 ++
vm/types.c | 13 +
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/include/vm/types.h b/inc
Signed-off-by: Tomek Grabiec
---
vm/jato.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/vm/jato.c b/vm/jato.c
index 184a702..33f7f90 100644
--- a/vm/jato.c
+++ b/vm/jato.c
@@ -729,6 +729,16 @@ native_vmclassloader_loadclass(struct vm_object *name,
jboolean
Signed-off-by: Tomek Grabiec
---
include/jit/args.h |1 -
include/vm/types.h |1 +
jit/args.c | 54
vm/types.c | 54
4 files changed, 55 insertions(+), 55 deletio
Signed-off-by: Tomek Grabiec
---
include/jit/args.h |2 +-
jit/args.c | 32 +++-
jit/trace-jit.c|2 +-
3 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/include/jit/args.h b/include/jit/args.h
index b2fdd5a..5728048 100644
--- a/inc
Signed-off-by: Tomek Grabiec
---
include/vm/preload.h|5 +++
include/vm/reflection.h |3 ++
vm/jato.c |1 +
vm/preload.c| 10 +++
vm/reflection.c | 70 +++
5 files changed, 89 insertions(+), 0 d
This increases maintainability. After this, method
arguments are parsed only by parse_method_args().
Signed-off-by: Tomek Grabiec
---
test/jit/invoke-bc-test.c | 20 +++--
vm/types.c| 102 +---
2 files changed, 27 insertions(+), 95 d
Also print out the stack slot (if known). This code probably still needs
some fixing.
Signed-off-by: Vegard Nossum
---
jit/gc-map.c| 22 --
jit/trace-jit.c | 13 +
2 files changed, 25 insertions(+), 10 deletions(-)
diff --git a/jit/gc-map.c b/jit/gc-map.c
Previously, we added only those vregs which were active (had a machine
register assigned) at the gc safepoint. Now we add both in-register and
in-stack variables to the stack map, and print the machine register in
the gc-map tracing.
Signed-off-by: Vegard Nossum
---
jit/gc-map.c|6 --
Signed-off-by: Vegard Nossum
---
arch/x86/lir-printer.c | 19 +++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/arch/x86/lir-printer.c b/arch/x86/lir-printer.c
index 61e7645..c69ae36 100644
--- a/arch/x86/lir-printer.c
+++ b/arch/x86/lir-printer.c
@@ -70,6 +70,
Signed-off-by: Vegard Nossum
---
jit/gc-map.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/jit/gc-map.c b/jit/gc-map.c
index 997c7e6..a341f17 100644
--- a/jit/gc-map.c
+++ b/jit/gc-map.c
@@ -26,6 +26,9 @@ int gc_map_init(struct compilation_unit *cu)
Signed-off-by: Tomek Grabiec
---
test/jit/invoke-bc-test.c | 20 +++-
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/test/jit/invoke-bc-test.c b/test/jit/invoke-bc-test.c
index 1d71670..c6d0634 100644
--- a/test/jit/invoke-bc-test.c
+++ b/test/jit/invoke-bc-tes
Signed-off-by: Vegard Nossum
---
arch/x86/insn-selector.brg | 16
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.brg
index 01b57d7..a8a418e 100644
--- a/arch/x86/insn-selector.brg
+++ b/arch/x86/insn-selector.
Signed-off-by: Vegard Nossum
---
arch/x86/emit-code.c|2 +-
arch/x86/include/arch/instruction.h |1 +
arch/x86/instruction.c | 12 +++-
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/arch/x86/emit-code.c b/arch/x86/emit-code.c
index
Signed-off-by: Vegard Nossum
---
Makefile |1 +
include/jit/gc-map.h |8
jit/compiler.c |5 +
jit/gc-map.c |7 +++
4 files changed, 21 insertions(+), 0 deletions(-)
create mode 100644 include/jit/gc-map.h
create mode 100644 jit/gc-map.c
Signed-off-by: Vegard Nossum
---
arch/x86/include/arch/instruction.h |2 +
include/jit/compilation-unit.h |5
jit/gc-map.c| 37 +++
3 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/arch/x86/include/arch/ins
Signed-off-by: Vegard Nossum
---
include/jit/compiler.h |2 ++
jit/compiler.c |3 +++
jit/trace-jit.c| 41 +
vm/jato.c |6 ++
4 files changed, 52 insertions(+), 0 deletions(-)
diff --git a/include/jit/compiler
It also renames vm_method_java_argument_count() to count_java_arguments()
because it is simmilar to count_arguments() fucntion.
This fixes 'make test' breakage introduced in commit:
"vm: introduce vm_method_java_argument_count()"
Signed-off-by: Tomek Grabiec
---
include/jit/args.h |1 -
in
Signed-off-by: Tomek Grabiec
---
vm/reflection.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/vm/reflection.c b/vm/reflection.c
index 66bbc12..bc0dc9c 100644
--- a/vm/reflection.c
+++ b/vm/reflection.c
@@ -281,7 +281,7 @@ static struct vm_object *get_method_parameter
Signed-off-by: Tomek Grabiec
---
vm/jato.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/vm/jato.c b/vm/jato.c
index 6b6bbf6..304cb1a 100644
--- a/vm/jato.c
+++ b/vm/jato.c
@@ -728,6 +728,16 @@ native_vmclassloader_loadclass(struct vm_object *name,
jboolean
This also implements Constructor.getParameterTypes()
Signed-off-by: Tomek Grabiec
---
include/vm/reflection.h |2 +
vm/jato.c |1 +
vm/reflection.c | 97 ---
3 files changed, 94 insertions(+), 6 deletions(-)
diff --git
Signed-off-by: Tomek Grabiec
---
include/vm/method.h |2 ++
jit/invoke-bc.c | 14 ++
vm/method.c | 15 +++
3 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/include/vm/method.h b/include/vm/method.h
index ebb1abe..3a6bac5 100644
--- a/inc
Signed-off-by: Tomek Grabiec
---
include/jit/args.h |2 +-
jit/args.c | 32 +++-
jit/trace-jit.c|2 +-
vm/method.c|2 +-
4 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/include/jit/args.h b/include/jit/args.h
index b2f
This increases maintainability. After this, method
arguments are parsed only by parse_method_args().
Signed-off-by: Tomek Grabiec
---
vm/types.c | 102 +++
1 files changed, 12 insertions(+), 90 deletions(-)
diff --git a/vm/types.c b/vm/ty
Signed-off-by: Tomek Grabiec
---
include/vm/preload.h|5 +++
include/vm/reflection.h |3 ++
vm/jato.c |1 +
vm/preload.c| 10 +++
vm/reflection.c | 70 +++
5 files changed, 89 insertions(+), 0 d
Original code by Pekka Enberg.
Signed-off-by: Vegard Nossum
---
include/vm/gc.h |1 +
vm/gc.c | 59 +++
2 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/include/vm/gc.h b/include/vm/gc.h
index b833219..05e324c 10064
Signed-off-by: Vegard Nossum
---
include/vm/gc.h|4
test/arch-x86/Makefile |1 +
test/jit/Makefile |1 +
test/vm/gc-stub.c |9 +
vm/gc.c| 25 +
vm/thread.c|5 +
6 files changed, 45 inserti
This patch adds a parameter "bool hidden" to the guard-page constructor,
which signals whether the page should be initially hidden or accessible.
Needed for GC, which wants an initially unhidden page.
Signed-off-by: Vegard Nossum
---
include/lib/guard-page.h |4 +++-
jit/exception.c
Signed-off-by: Vegard Nossum
---
arch/x86/init.c |3 +++
vm/jato.c |9 -
2 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/arch/x86/init.c b/arch/x86/init.c
index 5353f70..25b2e1a 100644
--- a/arch/x86/init.c
+++ b/arch/x86/init.c
@@ -1,6 +1,7 @@
#include
#
Signed-off-by: Vegard Nossum
---
Makefile |2 +-
include/lib/guard-page.h |9 +
include/vm/guard-page.h |9 -
jit/exception.c |2 +-
lib/guard-page.c | 90 ++
test/arch-x86/Makefile |2 +-
Signed-off-by: Vegard Nossum
---
Makefile| 11 ++-
include/vm/gc.h |8
vm/gc.c | 12
vm/jato.c |2 ++
4 files changed, 28 insertions(+), 5 deletions(-)
create mode 100644 include/vm/gc.h
create mode 100644 vm/gc.c
diff --git a/Mak
Signed-off-by: Vegard Nossum
---
arch/x86/emit-code.c| 23 +++
arch/x86/include/arch/instruction.h |2 ++
arch/x86/instruction.c | 10 ++
arch/x86/use-def.c |1 +
4 files changed, 36 insertions(+), 0 deletions(-
Signed-off-by: Vegard Nossum
---
include/vm/gc.h |1 +
vm/gc.c |4
vm/signal.c | 21 +
3 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/include/vm/gc.h b/include/vm/gc.h
index 6c39996..82766ca 100644
--- a/include/vm/gc.h
+++ b/include
Signed-off-by: Tomek Grabiec
---
arch/x86/include/arch/instruction.h | 21 +
1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/arch/instruction.h
b/arch/x86/include/arch/instruction.h
index 9140484..6a56b35 100644
--- a/arch/x86/include/arch/
Signed-off-by: Tomek Grabiec
---
arch/x86/emit-code.c| 79 +++
arch/x86/include/arch/stack-frame.h |2 +-
test/arch-x86/Makefile |1 +
3 files changed, 63 insertions(+), 19 deletions(-)
diff --git a/arch/x86/emit-code.c b/ar
We should not fixup the actual object class's vtable, but
the vtable of the class in which method was declared.
This bug led to invocation of incorrect methods.
Signed-off-by: Tomek Grabiec
---
arch/x86/emit-code.c | 37 -
include/jit/vtable.h |3 +++
j
Signed-off-by: Tomek Grabiec
---
vm/class.c | 22 ++
1 files changed, 2 insertions(+), 20 deletions(-)
diff --git a/vm/class.c b/vm/class.c
index 15084af..757d242 100644
--- a/vm/class.c
+++ b/vm/class.c
@@ -101,30 +101,12 @@ setup_vtable(struct vm_class *vmc)
56 matches
Mail list logo