Update on mimic stack spilling

2009-01-12 Thread Pekka Enberg
Hi, The current blocker bug for a simple hello, world application is in the way Jato handles mimic stack on basic block boundaries. The problem is that a mimic stack can be non-empty at the end of a basic block because of, for example, the ternary operator. You can find a full explanation of the

Re: Update on mimic stack spilling

2009-01-13 Thread Pekka Enberg
On Mon, 2009-01-12 at 11:59 +0200, Pekka Enberg wrote: The current blocker bug for a simple hello, world application is in the way Jato handles mimic stack on basic block boundaries. The problem is that a mimic stack can be non-empty at the end of a basic block because of, for example

Makefile header dependency tracking!

2009-02-09 Thread Pekka Enberg
Hi all, You should no longer need to do 'make clean' when changing a header file: http://git.kernel.org/?p=java/jato/jato.git;a=commitdiff;h=67a3c385961ea3dcaa7a51329e1a515b815dc9be Pekka --

Re: GSoC Idea: Ports to new operating systems

2009-03-20 Thread Pekka Enberg
Hi! On 3/20/2009, Abu Zaher zahe...@gmail.com wrote: I'm an undergrad student and intend to participate in GSoC '09. I'm interested in porting Jato in Darwin/OSX as my GSoC project. Please tell me the feasibility/implications regarding this idea. I assume you mean 32-bit Mactels; porting to

Re: [PATCH] x86: separate tests, allow x86-64 skeleton to compile

2009-04-13 Thread Pekka Enberg
On Fri, 2009-04-10 at 18:37 +0300, Eduard - Gabriel Munteanu wrote: This renames test code files and alters the Makefile so that Jato can compile for x86-64 without encountering build errors. Signed-off-by: Eduard - Gabriel Munteanu eduard.munte...@linux360.ro Applied, thanks!

Re: [PATCH] Added support for LIR tracing. Implemented for x86.

2009-04-16 Thread Pekka Enberg
On Thu, 2009-04-16 at 00:57 +0200, Arthur HUILLET wrote: this patch adds a LIR tracer. It has only been implemented for x86 so I assume you will have to tweak it a bit before merging it upstream. It seems to work fine here, so please apply. Nope, i386 is the only supported architecture for now

Re: [PATCH] jit: HIR now separates 32bit and 64bit shifts

2009-04-16 Thread Pekka Enberg
On Thu, 2009-04-16 at 11:40 +0200, Arthur HUILLET wrote: OP_{SHR, USHR, SHL} now denotes 32bit operations, OP_{SHR, USHR, SHL}_64 represent 64bit operations. This is necessary because we cannot provide optimised reg, EXPR_LOCAL rules for 64bit shifts easily on x86. Signed-off-by: Arthur

Re: [PATCH] jit: fix regalloc tracing so interval splitting is readable

2009-04-16 Thread Pekka Enberg
On Wed, 2009-04-15 at 17:09 +0200, Arthur HUILLET wrote: Intervals are now displayed with their start and end positions, and the assigned register is selected correctly. Signed-off-by: Arthur HUILLET arthur.huil...@free.fr Applied, thanks!

Re: [PATCH] jit: fix bug in register allocator when splitting intervals

2009-04-16 Thread Pekka Enberg
On Wed, 2009-04-15 at 18:45 +0200, Arthur HUILLET wrote: The unhandled intervals list was browsed with list_for_each_safe, which does not work if the immediate successor is modified. This happens when splitting intervals and inserting the split child into the list - the bug was that the child

Re: [PATCH] Minimal cross-compiling support (32-bit on x86-64)

2009-04-20 Thread Pekka Enberg
On Mon, 2009-04-20 at 12:39 +0300, Eduard - Gabriel Munteanu wrote: This allows Jato to be built on x86-64 as a 32-bit executable: $ make ARCH=i386 One might also have to supply a suitable LIBS so the linker can locate the various binutils 32-bit libraries. Signed-off-by: Eduard -

Re: [PATCH] jit: fix interval splitting so it marks the child with REG_UNASSIGNED

2009-04-27 Thread Pekka Enberg
On Fri, 2009-04-24 at 23:10 +0200, Arthur HUILLET wrote: When splitting intervals, the split child was given the same hardware register as the parent. This is incorrect because the split child has by definition not been assigned any register at this point: REG_UNASSIGNED is the correct value

Re: [PATCH] regression: enable all tests in PutstaticTest

2009-04-27 Thread Pekka Enberg
On Fri, 2009-04-24 at 23:18 +0200, Arthur HUILLET wrote: They all work fine now. Signed-off-by: Arthur HUILLET arthur.huil...@free.fr Applied, thanks! -- Crystal Reports #45; New Free Runtime and 30 Day Trial Check

Re: [PATCH 1/7] x86: add missing include in stack-frame.h

2009-05-26 Thread Pekka Enberg
Hi Tomek, The series has been applied. Really cool stuff! Pekka -- Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers brand creativity

Re: [PATCH] x86: add use-def rule for INSN_TEST_MEMBASE_REG

2009-05-27 Thread Pekka Enberg
On Tue, 2009-05-26 at 20:20 +0200, Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com This and the rest of the patches have been applied. Thanks! Pekka -- Register Now for

Re: [PATCH 1/7] jit: remove functions insert_arg() and convert_args() from invoke-bc.c

2009-05-28 Thread Pekka Enberg
On Wed, 2009-05-27 at 23:07 +0200, Tomek Grabiec wrote: They are duplicates of functions from jit/args.c Signed-off-by: Tomek Grabiec tgrab...@gmail.com The series has been applied. Thanks! -- Register Now for

Re: [PATCH] jit: cleanup in expression.c and bc-offset-mapping.c

2009-05-28 Thread Pekka Enberg
On Thu, 2009-05-28 at 12:30 +0200, Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com Applied, thanks! -- Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of

Re: [PATCH] vm: ArithmeticException throwing from SIGFPE on division by zero.

2009-05-28 Thread Pekka Enberg
On Thu, 2009-05-28 at 13:15 +0200, Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com Both patches have been applied. Thanks! -- Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT

Re: [PATCH] jit, x86: emit locking/unlocking code in synchronized methods

2009-05-28 Thread Pekka Enberg
Hi Tomek, Tomek Grabiec wrote: When method is synchronized JIT compiler is responsible for generating code which acquires lock in prologue and releases it in epilogue and in unwind block. Signed-off-by: Tomek Grabiec tgrab...@gmail.com Looks good to me. Lets cc Siam who authored the

Re: [PATCH] x86: fix trampoline backpatching

2009-06-01 Thread Pekka Enberg
On Mon, 2009-06-01 at 09:58 +0300, Pekka Enberg wrote: Hi Tomek, On Sat, 2009-05-30 at 14:22 +0200, Tomek Grabiec wrote: We should backpatch all relative call sites regardless of kind of the method. That's because 'invokespecial' instruction can emit relative calls to methods which

Re: [PATCH 6/6] vm: detect new_exception() call loops.

2009-06-04 Thread Pekka Enberg
On Wed, 2009-06-03 at 16:20 +0200, Tomek Grabiec wrote: Such loop may occure when exception occures in constructor of exception that's beeing created by new_exception(). Signed-off-by: Tomek Grabiec tgrab...@gmail.com Hmm, this looks wrong to me. The following program public class

Re: [PATCH 1/8] x86: cleanup in emit-code_32.c

2009-06-08 Thread Pekka Enberg
The series has been applied. Thanks! Pekka -- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest

Re: [PATCH 1/17] x86: add new monoborg rule: OP_DIV(reg, reg)

2009-06-22 Thread Pekka Enberg
I applied patches 1-12 of this series. -- Are you an open source citizen? Join us for the Open Source Bridge conference! Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. Need another reason

Re: [PATCH 13/17] vm: put all functions implementing virtual machine native methods in a separate section

2009-06-23 Thread Pekka Enberg
On Sat, 2009-06-20 at 23:00 +0200, Tomek Grabiec wrote: All VM natives should be placed in a .vm_native section to allow stack traversal functions to distinguish between regular native functions and native functions which implement native java methods. The former ones do not appear in stack

Re: [PATCH 1/2] jit: add predecessors to basic block structure

2009-06-25 Thread Pekka Enberg
On Wed, 2009-06-24 at 18:13 +0200, Arthur HUILLET wrote: diff --git a/test/jit/basic-block-assert.h b/test/jit/basic-block-assert.h index 8f00672..abec84c 100644 --- a/test/jit/basic-block-assert.h +++ b/test/jit/basic-block-assert.h @@ -12,16 +12,28 @@ static void inline

Re: [PATCH 1/3] jit: add EXPR_MIMIC_STACK_SLOT and expr_set_type

2009-06-25 Thread Pekka Enberg
On Wed, 2009-06-24 at 22:21 +0200, Arthur HUILLET wrote: This will be necessary for bc2ir to work. Signed-off-by: Arthur HUILLET arthur.huil...@free.fr @@ -235,6 +236,13 @@ struct expression { /* EXPR_ARRAY_SIZE_CHECK and EXPR_MULTIARRAY_SIZE_CHECK */ struct

Re: [PATCH] regression: ObjectStackTest now enabled

2009-06-25 Thread Pekka Enberg
On Wed, 2009-06-24 at 22:25 +0200, Arthur HUILLET wrote: Signed-off-by: Arthur HUILLET arthur.huil...@free.fr --- regression/jvm/ObjectStackTest.java |3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) Nice work! Applied.

Re: [PATCH] x86: add OP_AND(reg, reg)

2009-06-25 Thread Pekka Enberg
On Thu, 2009-06-25 at 01:02 +0200, Arthur HUILLET wrote: It is necessary for System.out.println Signed-off-by: Arthur HUILLET arthur.huil...@free.fr Seems reasonable although I usually don't like merging something that has no users. Anyway, applied!

Re: [GIT PULL] cafebabe

2009-06-25 Thread Pekka Enberg
On Thu, 2009-06-25 at 14:05 +0200, Vegard Nossum wrote: Ok. Please review and pull if this looks okay. Pulled, thanks! Can you please send me another one that removes jamvm completely from the master? Pekka

Re: [PATCH] run-suite: fix missing $JAVA_OPTS on cmdline

2009-06-26 Thread Pekka Enberg
On Thu, 2009-06-25 at 18:09 +0200, Vegard Nossum wrote: 2009/6/25 Arthur HUILLET arthur.huil...@free.fr: Signed-off-by: Arthur HUILLET arthur.huil...@free.fr Acked-by: Vegard Nossum vegard.nos...@gmail.com This was a left-over from: commit fd3c3475e6825e52b8d7045b96fd44bb5ae04c81

Re: [PATCH] vm/classloader: stop searching once we've found the class

2009-06-26 Thread Pekka Enberg
On Thu, 2009-06-25 at 18:17 +0200, Vegard Nossum wrote: From 721f6ad6eed965afb940158c25826a4c997cc74b Mon Sep 17 00:00:00 2001 From: Vegard Nossum vegard.nos...@gmail.com Date: Thu, 25 Jun 2009 18:14:30 +0200 Subject: [PATCH] vm/classloader: stop searching once we've found the class If we

Re: [PATCH] vm: fix slash2dots() function

2009-06-26 Thread Pekka Enberg
On Thu, 2009-06-25 at 22:30 +0200, Vegard Nossum wrote: 2009/6/25 Tomek Grabiec tgrab...@gmail.com: Signed-off-by: Tomek Grabiec tgrab...@gmail.com My mistake :-) Acked-by: Vegard Nossum vegard.nos...@gmail.com Applied, thanks!

Re: [PATCH] jit: do not use CLASS_CB macro in jit_native_trampoline()

2009-06-26 Thread Pekka Enberg
On Thu, 2009-06-25 at 23:14 +0200, Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com --- jit/trampoline.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/jit/trampoline.c b/jit/trampoline.c index 1afcfbd..05f5cc6 100644 --- a/jit/trampoline.c

Re: [PATCH] vm: catch and print unhandled exceptions

2009-06-26 Thread Pekka Enberg
On Fri, 2009-06-26 at 00:45 +0200, Tomek Grabiec wrote: When exception is thrown out of main then we should print that exception (printing support is preliminary yet). The process should be terminated with non-zero exit status to indicate the failure. Signed-off-by: Tomek Grabiec

Re: [PATCH] vm: catch and print unhandled exceptions

2009-06-26 Thread Pekka Enberg
On Fri, 2009-06-26 at 09:32 +0300, Pekka Enberg wrote: On Fri, 2009-06-26 at 00:45 +0200, Tomek Grabiec wrote: When exception is thrown out of main then we should print that exception (printing support is preliminary yet). The process should be terminated with non-zero exit status

Re: [PATCH] vm: catch and print unhandled exceptions

2009-06-26 Thread Pekka Enberg
On Fri, 2009-06-26 at 09:39 +0300, Pekka Enberg wrote: On Fri, 2009-06-26 at 09:32 +0300, Pekka Enberg wrote: On Fri, 2009-06-26 at 00:45 +0200, Tomek Grabiec wrote: When exception is thrown out of main then we should print that exception (printing support is preliminary yet). The process

Re: [PATCH] vm: catch and print unhandled exceptions

2009-06-26 Thread Pekka Enberg
On Fri, 2009-06-26 at 09:41 +0300, Pekka Enberg wrote: On Fri, 2009-06-26 at 09:39 +0300, Pekka Enberg wrote: On Fri, 2009-06-26 at 09:32 +0300, Pekka Enberg wrote: On Fri, 2009-06-26 at 00:45 +0200, Tomek Grabiec wrote: When exception is thrown out of main then we should print

Re: [PATCH] Makefile: remove clean rule for lib/

2009-06-26 Thread Pekka Enberg
On Fri, 2009-06-26 at 16:03 +0200, Tomek Grabiec wrote: This caused error on `make clean` as of commit 03d3251a7bb42a6508009a974feb102dc976d222 (Kill unused lib/) Signed-off-by: Tomek Grabiec tgrab...@gmail.com Applied, thanks!

Re: [PATCH 1/11] test: fix `make test` brakage

2009-06-27 Thread Pekka Enberg
Both series have been applied, thanks! -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH 1/6] insn-selector: add dummy rules for floating-point

2009-06-27 Thread Pekka Enberg
Series applied, thanks! -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH 2/5] classloader: don't run clinits inside the compiler

2009-06-28 Thread Pekka Enberg
Hi Vegard, Vegard Nossum wrote: @@ -120,6 +120,14 @@ void *jit_magic_trampoline(struct compilation_unit *cu) pthread_mutex_unlock(cu-mutex); + /* XXX: + * + * 09:58 penberg but you need to be careful + * 09:58 penberg not to allow any threads to run the

Re: [PATCH] vm: fix bug in signal bottom half mechanism

2009-06-29 Thread Pekka Enberg
applied -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH] vm: initialize static fields (completely) to null

2009-07-01 Thread Pekka Enberg
On Tue, 2009-06-30 at 23:53 +0200, Vegard Nossum wrote: We need to initialize static fields to zero even before the class initializer runs (since the initializer may refer to static fields). This still needs a lot of work, but here is a preliminary fix that initializes a whole pointer

Re: [PATCH] vm: fix method vtables

2009-07-01 Thread Pekka Enberg
On Mon, 2009-06-29 at 22:58 +0200, Vegard Nossum wrote: We used to simply append the subclass' methods to the end of the vtable of the superclass. With this patch, we only append those methods which are not defined in the superclass; the methods which are defined in the superclass are

Re: [PATCH] jit: add more class/field names to tree-printer

2009-07-01 Thread Pekka Enberg
On Tue, 2009-06-30 at 09:08 +0200, Vegard Nossum wrote: 08:59 penberg_home vegard: cool. 08:59 penberg_home vegard: but doesn't that make debugging too easy? Signed-off-by: Vegard Nossum vegard.nos...@gmail.com Applied, thanks!

Re: [PATCH] vm: don't initialize preloaded classes

2009-07-01 Thread Pekka Enberg
On Tue, 2009-06-30 at 00:01 +0200, Vegard Nossum wrote: Alas, we cannot initialize these classes; the JVM spec. forbids it. Signed-off-by: Vegard Nossum vegard.nos...@gmail.com --- vm/jato.c |9 - 1 files changed, 0 insertions(+), 9 deletions(-) diff --git a/vm/jato.c

Re: [PATCH] x86: make code generated for EXPR_INVOKEVIRTUAL shorter

2009-07-01 Thread Pekka Enberg
On Mon, 2009-06-29 at 19:41 +0200, Tomek Grabiec wrote: We do not have to load object reference from stack with this instruction: mov 0(%esp), %reg Before we select the code for EXPR_INVOKEVIRTUAL code for call arguments is selected so we know what register was allocated to the argument

Re: [PATCH] jit: temporaries for mimic stack spilling are now recursively propagated

2009-07-01 Thread Pekka Enberg
On Tue, 2009-06-30 at 16:27 +0200, Arthur Huillet wrote: Hi, On Tue, 30 Jun 2009 16:04:33 +0200 Arthur Huillet arthur.huil...@free.fr wrote: please don't apply right now, I have a test that breaks. Please apply this patch, it is OK. The test wasn't. :) Applied, thanks!

Re: [PATCH 1/9] x86: added REG_MEMDISP instruction

2009-07-01 Thread Pekka Enberg
applied, thanks! -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH 2/4] jit: add -Xtrace:invoke for tracing method invocations (v2)

2009-07-01 Thread Pekka Enberg
On Wed, 2009-07-01 at 10:38 +0200, Vegard Nossum wrote: @@ -783,6 +783,17 @@ void emit_prolog(struct buffer *buf, unsigned long nr_locals) __emit_sub_imm_reg(buf, nr_locals * sizeof(unsigned long), REG_ESP); } +void emit_trace_invoke(struct buffer *buf, + const char

Re: [PATCH] vm, x86: fix fixup_vtable()

2009-07-02 Thread Pekka Enberg
On Thu, 2009-07-02 at 08:24 +0200, Vegard Nossum wrote: 2009/7/2 Tomek Grabiec tgrab...@gmail.com: fixup_vtable() was using old -method_index field which is no longer valid. Signed-off-by: Tomek Grabiec tgrab...@gmail.com Acked-by: Vegard Nossum vegard.nos...@gmail.com Sorry about

Re: [PATCH] x86: float remainder is FREM in the HIR

2009-07-03 Thread Pekka Enberg
both patches applied -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH] x86: implement OP_FREM

2009-07-03 Thread Pekka Enberg
applied -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH] x86: floating point returning is now ABI conformant

2009-07-03 Thread Pekka Enberg
applied -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH] x86: factorize code for INVOKEVIRTUAL and FINVOKEVIRTUAL

2009-07-03 Thread Pekka Enberg
applied -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH] Makefile: remove .class files from runtime/ on 'make clean'

2009-07-03 Thread Pekka Enberg
applied -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH] x86: factorize code for INVOKE and FINVOKE

2009-07-03 Thread Pekka Enberg
applied -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH 2/2] x86: fix bug in emit_jni_trampoline()

2009-07-06 Thread Pekka Enberg
On Mon, 2009-07-06 at 01:16 +0200, Tomek Grabiec wrote: We cannot overwrite a register which is not saved (ESI) because this will lead to a corruption in JIT code. The proper solution is to copy the call arguments. Signed-off-by: Tomek Grabiec tgrab...@gmail.com I'm confused. What exactly

Re: [PATCH] vm: Add new classpath autodiscovery path

2009-07-08 Thread Pekka Enberg
applied -- Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to

Re: [PATCH 1/2] vm: set 'path.separator' to ':'

2009-07-08 Thread Pekka Enberg
On Tue, 2009-07-07 at 22:02 +0200, Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com --- vm/jato.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/vm/jato.c b/vm/jato.c index 4eb5dbc..a9eb0a7 100644 --- a/vm/jato.c +++ b/vm/jato.c @@ -106,7

Re: [RFC PATCH 5/9] Fix memory corruption in free_slot() from radix tree

2009-07-09 Thread Pekka Enberg
On Thu, 2009-07-09 at 07:17 +0300, Eduard - Gabriel Munteanu wrote: This bug affects arches where sizeof(int) != sizeof(unsigned long). The key should be unsigned long so it doesn't get truncated. Signed-off-by: Eduard - Gabriel Munteanu eduard.munte...@linux360.ro --- lib/radix-tree.c |

Re: [RFC][PATCH 5/5] vm: preliminary jar-file parsing

2009-07-09 Thread Pekka Enberg
On Thu, 2009-07-09 at 01:22 +0200, Vegard Nossum wrote: This provides a recursive-descent parser for the grammar of sections, as given at: http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html The actual manifest parsing has still to be done. Signed-off-by: Vegard Nossum

Re: [PATCH 1/5] vm: constify field flag helper arguments

2009-07-09 Thread Pekka Enberg
1-4 applied, thnx! -- Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the

Re: [PATCH 1/5] jato: improve command-line handling

2009-07-10 Thread Pekka Enberg
The series has been applied. Thanks! -- Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM)

Re: [PATCH 1/5] vm: constify argument of bytecode read functions

2009-07-13 Thread Pekka Enberg
The series has been applied. Thanks! -- Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM)

Re: [PATCH 2/7] jit: fix verify_correct_nesting() and add verify_no_recursion()

2009-07-15 Thread Pekka Enberg
On Tue, 2009-07-14 at 21:12 +0200, Tomek Grabiec wrote: verify_no_recursion() checks whether all call sites of given subroutine all outside its body. It's a requirement for inlining to be possible. Does this mean we won't be able to inline all subroutines and thus need support for the 'jsr' and

Re: [RFC PATCH 7/9] x86-64: fix stack frame operations

2009-07-16 Thread Pekka Enberg
On Thu, 2009-07-16 at 01:20 +0200, Tomek Grabiec wrote: 2009/7/15 Eduard - Gabriel Munteanu eduard.munte...@linux360.ro: On Wed, Jul 15, 2009 at 10:53:30AM +0200, Vegard Nossum wrote: 2009/7/15 Eduard - Gabriel Munteanu eduard.munte...@linux360.ro: This fixes stack frame operations on

Re: [PATCH 1/2] x86: separate out bfd search of backtrace printing

2009-07-21 Thread Pekka Enberg
applied -- Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to

Re: [PATCH] x86: ESP and EBP are of GPR type

2009-07-21 Thread Pekka Enberg
On Tue, 2009-07-21 at 11:38 +0200, Arthur Huillet wrote: Hi, this patch fixes an actual bug. Please merge it (unlike the previous one for control flow resolving, which I intended to mark as RFC). Control flow resolving works for SubstringTest, but I prefer to send it once it's

Re: [PATCH 11/14] vm: introduce -native_ptr field in struct compilation_unit

2009-07-22 Thread Pekka Enberg
Hi Tomek, On Wed, 2009-07-22 at 13:03 +0200, Tomek Grabiec wrote: @@ -2024,25 +2024,16 @@ static void invoke(struct basic_block *s, struct tree_node *tree, struct compila struct insn *call_insn; void *target; - if (pthread_mutex_trylock(cu-mutex)) { - /* -

Re: [PATCH 01/22] x86-64: make native_call() a stub

2009-07-26 Thread Pekka Enberg
The series has been applied, thanks! -- ___ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Re: [PATCH 4/4] vm: use Throwable.stackTraceString() for exception printing.

2009-07-26 Thread Pekka Enberg
On Sun, 2009-07-26 at 13:22 +0200, Tomek Grabiec wrote: Please hold on with merging this one because I noticed that for some reason Caused by: parts are not printed after this patch, which seems to be a bug in JIT. OK, I reverted the commit from master now.

Re: [RFC][PATCH] jit: set argument index correctly for JNI invocations

2009-07-28 Thread Pekka Enberg
Tomek Grabiec wrote: When method is a JNI method, then we add a pointer to JNI environemnt as the first argument. If method is also static, we put class's object refrence as second argument. All those arguments must be treated same as any other arguments, so they should receive indices 0 and 1

Re: [RFC][PATCH] jit: set argument index correctly for JNI invocations

2009-07-28 Thread Pekka Enberg
On Tue, 2009-07-28 at 17:53 +0300, Eduard - Gabriel Munteanu wrote: On Tue, Jul 28, 2009 at 01:52:39PM +0300, Pekka Enberg wrote: Tomek Grabiec wrote: When method is a JNI method, then we add a pointer to JNI environemnt as the first argument. If method is also static, we put class's object

Re: [PATCH 1/2] jit: fix basic block splitting

2009-07-29 Thread Pekka Enberg
On Wed, 2009-07-29 at 12:15 +0200, Vegard Nossum wrote: On splitting a bb, the successors of the new bb were still pointing at the original bb. This caused the CFG to be inconsistent and subsequently also mimic stack spill/restore to do the wrong thing. This fixes the

Re: [RFC][PATCH] jit: fix handling of split intervals in register allocator

2009-08-01 Thread Pekka Enberg
On Wed, 2009-07-29 at 15:36 +0200, Tomek Grabiec wrote: Liveness analysis can produce intervals with range not ending at a use position. When splitting such interval after last use position we get the new interval with non-zero range length and without use positions. We should not add such

Re: [PATCH 1/6] jit: ensure tracing mutual exclusion during whole method compilation

2009-08-01 Thread Pekka Enberg
On Thu, 2009-07-30 at 12:50 +0200, Tomek Grabiec wrote: We have to make trace_mutex recursive because java.lang.String initialization might be triggered during compilation of method containing ldc on String constant. Signed-off-by: Tomek Grabiec tgrab...@gmail.com +void init_tracing(void)

Re: [PATCH 3/6] jato: prevent removal of .java regression test suite files on `make clean'

2009-08-01 Thread Pekka Enberg
On Thu, 2009-07-30 at 12:50 +0200, Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com --- Makefile |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/Makefile b/Makefile index ede2d0c..c037fb8 100644 --- a/Makefile +++ b/Makefile @@ -308,7 +308,6

Re: [PATCH 4/6] vm: make static field fixup thread safe

2009-08-01 Thread Pekka Enberg
On Thu, 2009-07-30 at 12:50 +0200, Tomek Grabiec wrote: diff --git a/include/vm/class.h b/include/vm/class.h index 2ed5ffe..b827afc 100644 --- a/include/vm/class.h +++ b/include/vm/class.h @@ -2,6 +2,7 @@ #define _VM_CLASS_H #include assert.h +#include pthread.h #include

Re: [PATCH] vm: initialize monitor fields

2009-08-01 Thread Pekka Enberg
On Thu, 2009-07-30 at 14:41 +0200, Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com --- vm/object.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/vm/object.c b/vm/object.c index cb69dca..1a5136a 100644 --- a/vm/object.c +++ b/vm/object.c

Re: [PATCH] jit: fix liveness analysis

2009-08-01 Thread Pekka Enberg
Hi Vegard, On Fri, 2009-07-31 at 18:12 +0200, Vegard Nossum wrote: All registers that were defined in the basic block were subtracted from the use set. This is right if the order is define, use, but it's wrong if the order is use, define. Fix this by checking if the register has already been

Re: [PATCH] jit: fix liveness analysis

2009-08-01 Thread Pekka Enberg
On Fri, 2009-07-31 at 18:12 +0200, Vegard Nossum wrote: All registers that were defined in the basic block were subtracted from the use set. This is right if the order is define, use, but it's wrong if the order is use, define. Fix this by checking if the register has already been

Re: [PATCH 15/26] vm: set user.dir, user.home, user.name properties

2009-08-03 Thread Pekka Enberg
Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com --- vm/jato.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/vm/jato.c b/vm/jato.c index 4a82048..ea176ca 100644 --- a/vm/jato.c +++ b/vm/jato.c @@ -206,6 +206,13 @@ static void

Re: [PATCH 25/26] x86: fix 'this' pointer passing to fixup_vtable() for JNI methods.

2009-08-03 Thread Pekka Enberg
Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com --- arch/x86/emit-code.c | 17 +++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/arch/x86/emit-code.c b/arch/x86/emit-code.c index 57de052..521c150 100644 --- a/arch/x86/emit-code.c +++

Re: [PATCH 01/26] vm: introduce vm_thread_get_name()

2009-08-03 Thread Pekka Enberg
The series has been applied, thanks! -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core

Re: [PATCH 09/26] regression: introduce JNI regression tests

2009-08-03 Thread Pekka Enberg
Hi Tomek, I skipped this patch because it's causing too many problems. The regression test didn't compile: make -C regression/jni make[1]: Entering directory `/home/penberg/src/jato/regression/jni' JAVAHjvm_JNITest.h CXX libjnitest.so In file included from jvm_JNITest.cpp:1:

Native symbol resolution busted

2009-08-06 Thread Pekka Enberg
Hi Tomek, It seems that native symbol resolution is busted somehow: [AWT-EventQueue-2] SIGSEGV at EIP 08055d30 while accessing memory address 002a. [AWT-EventQueue-2] Registers: [AWT-EventQueue-2] eax: ebx: ecx: 0001 edx: [AWT-EventQueue-2] esi:

Re: [PATCH] jit: introduce per-cu lir - insn mapping

2009-08-06 Thread Pekka Enberg
On Thu, 2009-08-06 at 16:13 +0200, Vegard Nossum wrote: This fixes the performance issue in liveness analysis. Signed-off-by: Vegard Nossum vegard.nos...@gmail.com Nice! Perf report looks like this now: # Overhead CommandShared Object Symbol # ...

Re: [PATCH 5/5] vm: implement VMClass.getModifiers()

2009-08-13 Thread Pekka Enberg
Tomek Grabiec wrote: Signed-off-by: Tomek Grabiec tgrab...@gmail.com diff --git a/vm/jato.c b/vm/jato.c index 6d1ac6b..0d32645 100644 --- a/vm/jato.c +++ b/vm/jato.c @@ -607,10 +607,32 @@ native_vmclass_isprimitive(struct vm_object *object) static jint native_vmclass_getmodifiers(struct

More GCC warnings enabled

2009-08-16 Thread Pekka Enberg
Hi all, I've enabled some more GCC warnings now. There's still few more I'd like to enable at some point: -Wstack-protector -Wstrict-aliasing=3 -Wswitch-default -Wswitch-enum -Wpacked -Wshadow -Wbad-function-cast Unfortunately all of them make bugs in Jato code visible so

Re: [PATCH] vm: introduce per vm_class access flags.

2009-08-17 Thread Pekka Enberg
On Mon, 2009-08-17 at 15:38 +0200, Tomek Grabiec wrote: We need to assign access flags for arrays and primitive classes which have no corresponding cafebabe_class. Therefore -access_flags field is introduced for struct vm_class. Signed-off-by: Tomek Grabiec tgrab...@gmail.com I'd rather we

Re: [PATCH] vm: introduce per vm_class access flags.

2009-08-17 Thread Pekka Enberg
On Mon, 2009-08-17 at 19:36 +0200, Tomek Grabiec wrote: 2009/8/17 Pekka Enberg penb...@cs.helsinki.fi: On Mon, 2009-08-17 at 15:38 +0200, Tomek Grabiec wrote: We need to assign access flags for arrays and primitive classes which have no corresponding cafebabe_class. Therefore -access_flags

[PATCH] linear-scan: Fix range end checks

2009-08-17 Thread Pekka Enberg
From: Pekka Enberg penb...@cs.helsinki.fi The -end member of struct live_range is not part of the range. Fix up some range end checks in jit/linear-scan.c which assume -end is part of the range. Cc: Arthur HUILLET arthur.huil...@free.fr Signed-off-by: Pekka Enberg penb...@cs.helsinki.fi

[PATCH 2/3] spill-reload: Remove redundant argument from insert_copy_slot_insn()

2009-08-18 Thread Pekka Enberg
The 'pop_at_insn' argument is not used in insert_copy_slot_insn() function so remove it to clean up code. Cc: Arthur HUILLET arthur.huil...@free.fr Cc: Tomek Grabiec tgrab...@gmail.com Signed-off-by: Pekka Enberg penb...@cs.helsinki.fi --- jit/spill-reload.c | 13 + 1 files changed

[PATCH 3/3] spill-reload: Use radix_tree_lookup() in insert_mov_insns()

2009-08-18 Thread Pekka Enberg
Lets use radix_tree_lookup() and get rid of the nasty loop in bb_last_insn(). For some reason, this seems to fix the infinite loop triggered by empty basic blocks. Cc: Arthur HUILLET arthur.huil...@free.fr Cc: Tomek Grabiec tgrab...@gmail.com Signed-off-by: Pekka Enberg penb...@cs.helsinki.fi

[PATCH 1/3] spill-reload: Insert spill instructions before branches

2009-08-18 Thread Pekka Enberg
Use insn_is_branch() to determine whether we must insert a spill instruction before or after the last instruction in a basic block. Cc: Arthur HUILLET arthur.huil...@free.fr Cc: Tomek Grabiec tgrab...@gmail.com Signed-off-by: Pekka Enberg penb...@cs.helsinki.fi --- arch/mmix/include/arch

Re: [PATCH 3/3] spill-reload: Use radix_tree_lookup() in insert_mov_insns()

2009-08-18 Thread Pekka Enberg
on some execution paths. I think the following patch _is_ correct but it breaks make regression so I think we're silently spilling/reloading empty basic blocks. Pekka From 999622798d073ae892c316e6f69fde7697233e4d Mon Sep 17 00:00:00 2001 From: Pekka Enberg penb

Re: [RFC][PATCH 3/3] jit: fix data flow resolution code in presence of empty basic blocks.

2009-08-20 Thread Pekka Enberg
instructions. lab: I tried to write a regression test based on the above description. Unfortunately this doesn't seem to trigger the bug: From d642832b008d8622f01e14eb07c197f40458488a Mon Sep 17 00:00:00 2001 From: Pekka Enberg penb...@cs.helsinki.fi Date: Thu, 20 Aug 2009 09:41:28 +0300

Re: [PATCH] vm: add unimplemented interface methods to abstract classes

2009-08-23 Thread Pekka Enberg
Hi Vegard, (I'm cc'ing Eduard on the args map question.) On Sat, 2009-08-22 at 23:39 +0200, Vegard Nossum wrote: @@ -371,7 +371,56 @@ int vm_class_link(struct vm_class *vmc, const struct cafebabe_class *class) } } - vmc-methods = malloc(sizeof(*vmc-methods) *

Re: [PATCH] vm: remove extraneous semicolon

2009-08-23 Thread Pekka Enberg
On Sat, 2009-08-22 at 23:39 +0200, Vegard Nossum wrote: Signed-off-by: Vegard Nossum vegard.nos...@gmail.com --- vm/object.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/vm/object.c b/vm/object.c index 1baa966..36e60c1 100644 --- a/vm/object.c +++

Re: [PATCH] regression: add MirandaInterfaceMethodTest

2009-08-23 Thread Pekka Enberg
On Sun, 2009-08-23 at 09:06 +0200, Vegard Nossum wrote: I did write something about this in the changelog of one of the other patches. It is correct that this is not _exactly_ what a miranda method is, but it would have been called a miranda method if it was generated by javac. But we're doing

  1   2   >