jamvm-general Mailing List for JamVM (Page 2)
Brought to you by:
rlougher
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(44) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(5) |
Feb
|
Mar
(33) |
Apr
(12) |
May
(18) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(33) |
Oct
(16) |
Nov
(35) |
Dec
(25) |
2006 |
Jan
(44) |
Feb
(1) |
Mar
(38) |
Apr
(14) |
May
(42) |
Jun
(8) |
Jul
(9) |
Aug
(5) |
Sep
(1) |
Oct
(16) |
Nov
(14) |
Dec
(16) |
2007 |
Jan
(3) |
Feb
(17) |
Mar
(19) |
Apr
(16) |
May
(7) |
Jun
(17) |
Jul
(22) |
Aug
(7) |
Sep
|
Oct
(28) |
Nov
(15) |
Dec
(4) |
2008 |
Jan
(4) |
Feb
(21) |
Mar
(16) |
Apr
(11) |
May
(18) |
Jun
(25) |
Jul
(8) |
Aug
(14) |
Sep
(5) |
Oct
(35) |
Nov
(8) |
Dec
(30) |
2009 |
Jan
(2) |
Feb
(2) |
Mar
(8) |
Apr
(9) |
May
(14) |
Jun
(9) |
Jul
(10) |
Aug
(7) |
Sep
(8) |
Oct
(4) |
Nov
(12) |
Dec
(2) |
2010 |
Jan
(12) |
Feb
(16) |
Mar
(16) |
Apr
(5) |
May
(4) |
Jun
(4) |
Jul
(3) |
Aug
(11) |
Sep
(2) |
Oct
|
Nov
(1) |
Dec
(4) |
2011 |
Jan
(1) |
Feb
|
Mar
(43) |
Apr
(1) |
May
(1) |
Jun
(13) |
Jul
(21) |
Aug
(11) |
Sep
(3) |
Oct
|
Nov
|
Dec
(1) |
2012 |
Jan
|
Feb
(5) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(19) |
Jul
(4) |
Aug
|
Sep
(1) |
Oct
|
Nov
(2) |
Dec
(12) |
2013 |
Jan
|
Feb
(1) |
Mar
(10) |
Apr
(22) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(2) |
Sep
(6) |
Oct
(3) |
Nov
(4) |
Dec
(3) |
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(11) |
Jun
(4) |
Jul
(1) |
Aug
(4) |
Sep
|
Oct
(16) |
Nov
|
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
From: Xerxes R. <xe...@za...> - 2014-10-27 08:58:31
|
Den 2014-10-20 22:30, Matthias Klose skrev: > > - Did you try to build/run these with > the IcedTea 2.5.3 update? At least Cacao and JamVM fail. > > I received the IcedTea 2.5.3 security update during the week and indeed all alternative JVM broke. http://blog.fuseyism.com/index.php/2014/10/15/security-icedtea-2-5-3-for-openjdk-7-released/ The OpenJDK source tree revealed the following information: 8015256: Better class accessibility Summary: Improve protection domain check in forName() http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/61d1e75e0a58 http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/rev/16cd2826a58f JVM_FindClassFromCaller appears to work quite similar to JVM_FindClassFromClassLoader with the twist that the protection domain that belongs to the caller class argument shall be used during the lookup of the class. But there is no specification or unit-test in OpenJDK documenting the desired effect, if someone have a specification or test at hand for how JVM_FindClassFromCaller "security" shall behave then i would like to see it. I spent some time yesterday looking into it and have filed patches to Avian, JamVM and Cacao upstream to make the JVM's compatible with the "security" update. Pull request links and commits below: JamVM: http://sourceforge.net/p/jamvm/mailman/message/32972760/ https://github.com/xranby/jamvm/commit/81f280b4fad847bc393ee4732c23aae9adccb327 CACAO JVM: https://bitbucket.org/cacaovm/cacao-staging/pull-request/147/implement-jvm_findclassfromcaller-openjdk/ https://bitbucket.org/xranby/cacao-staging/commits/ec6bd33b3e927738d1353e6e639e76f74d55635f Avian: https://github.com/ReadyTalk/avian/pull/360 https://github.com/xranby/avian/commit/2e5990a6b0c35934b99a0a776762fab8f643599b Cheers Xerxes |
From: Robert L. <rob...@gm...> - 2014-10-27 08:45:45
|
Great you've got it to build! Obviously, as a 32-bit executable you can't use a heap of more than a couple of GB. BTW, the option is --enable-ffi, not --enable-libffi. Rob. On 27 October 2014 00:22, Anitha B Gollamudi <ani...@gm...> wrote: > On 26 October 2014 11:48, Robert Lougher <rob...@gm...> wrote: >> Yes it is active. Unfortunately there's not a lot of help that I can >> give. Macs used to be my main computers so they were well supported >> (under Linux and Mac OS X). However, I no longer use Macs (my last >> Mac is from 2006 running OS X 10.5). Luckily it appears that JamVM >> continued to be buildable on OS X at least until a year or two ago >> (judging by feedback) but obviously this is no longer the case. >> Without a current Mac there's not a lot I can do, so I'll probably >> remove support entirely from the next version. >> >> In case this is of help, I can see the following from your original post. >> >> 1) You no longer have gcc on Mac OS X. The C compiler is actually >> Clang/LLVM, which is masquerading as gcc. I have never built JamVM >> using LLVM as it uses several gcc features. I no idea if JamVM >> compiles with LLVM. Even if it does compile, it may not work. >> >> 2) By default, it is building 64-bit executables. In the past, even >> on 64-bit machines, gcc on Mac OS X defaulted to 32-bit. The error >> messages you are seeing is because JamVM by default (on Mac OS X) >> assumes it is being built for 32-bit. >> >> You could try configuring JamVM to use libffi, e.g. ./configure >> --enable-ffi. As far as I'm aware, Mac OS X should still support >> libffi. If this works you will have a 64-bit executable. >> >> Alternatively you could see if there is a flag to LLVM/Clang to force >> it to build in 32-bit mode. > > Rob, > > Finally, I am able to build 1.5.4 version forcing clang to build > > [1] Using -m32. > [2] Removing "interp_cflags=-fno-reorder-blocks" (Clang does not like > this option) > > Bare invocation worked so presumably everything should work though I > haven't run tests. As a side note --enable-libffi did not work either. > Configure (clang) complained that it does not know what the option > meant. > > Thanks for your prompt help > > -Anitha |
From: <chr...@gm...> - 2014-10-27 01:29:50
|
From: Christopher Friedt <chr...@gm...> This modification to array objects allows for: 1) the classic case where array data is allocated with the array object, contiguously 2) a new application that allows setting the array data to an arbitrary pointer (e.g. mmapped file) --- src/alloc.c | 41 +++++++++++++++++++++++++++++++++++------ src/interp/engine/interp.c | 17 +++++++++-------- src/jam.h | 12 +++++++++++- 3 files changed, 55 insertions(+), 15 deletions(-) diff --git a/src/alloc.c b/src/alloc.c index d12abb6..8b31a69 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -2114,7 +2114,7 @@ Object *allocObject(Class *class) { } Object *allocArray(Class *class, int size, int el_size) { - Object *ob; + ArrayObject *ob; /* Special check to protect against integer overflow */ if(size > (INT_MAX - sizeof(uintptr_t) - sizeof(Object)) / el_size) { @@ -2122,16 +2122,47 @@ Object *allocArray(Class *class, int size, int el_size) { return NULL; } - ob = gcMalloc(size * el_size + sizeof(uintptr_t) + sizeof(Object)); + ob = gcMalloc(size * el_size + sizeof(ArrayObject)); if(ob != NULL) { ob->class = class; - ARRAY_LEN(ob) = size; + ob->size = size; + if ( size > 0 ) { + ob->data = ob->contig_data; + } TRACE_ALLOC("<ALLOC: allocated %s array object @%p>\n", CLASS_CB(class)->name, ob); } - return ob; + return (Object *)ob; +} + +static char *array_names[] = { "[Z", "[C", "[F", "[D", + "[B", "[S", "[I", "[J", }; + +Object *allocTypeArrayFromClassName(const char *className, int size) { + Object *r = NULL; + int type; + char t; + + if ( NULL == className || strlen(className) != 2 || *className != '[' ) + goto out; + t = *(className+1); + + for(type = 0; type < 8; type++) { + if ( t == array_names[type][1] ) { + break; + } + } + if ( type > 8 ) + goto out; + + type += T_BOOLEAN; + + r = allocTypeArray(type, size); + +out: + return r; } Object *allocObjectArray(Class *element_class, int length) { @@ -2153,8 +2184,6 @@ Object *allocObjectArray(Class *element_class, int length) { } Object *allocTypeArray(int type, int size) { - static char *array_names[] = {"[Z", "[C", "[F", "[D", "[B", - "[S", "[I", "[J"}; static int element_sizes[] = {1, 2, 4, 8, 1, 2, 4, 8}; static Class *array_classes[8]; diff --git a/src/interp/engine/interp.c b/src/interp/engine/interp.c index cfb6d67..f66af80 100644 --- a/src/interp/engine/interp.c +++ b/src/interp/engine/interp.c @@ -658,14 +658,15 @@ uintptr_t *executeJava() { #define ARRAY_LOAD_ARY *--ostack #endif -#define ARRAY_LOAD(TYPE) \ -{ \ - int idx = ARRAY_LOAD_IDX; \ - Object *array = (Object *)ARRAY_LOAD_ARY; \ - \ - NULL_POINTER_CHECK(array); \ - ARRAY_BOUNDS_CHECK(array, idx); \ - PUSH_0(ARRAY_DATA(array, TYPE)[idx], 1); \ +#define ARRAY_LOAD(TYPE) \ +{ \ + int idx = ARRAY_LOAD_IDX; \ + Object *array = (Object *)ARRAY_LOAD_ARY; \ + \ + NULL_POINTER_CHECK(array); \ + NULL_POINTER_CHECK(ARRAY_DATA(array, TYPE)); \ + ARRAY_BOUNDS_CHECK(array, idx); \ + PUSH_0(ARRAY_DATA(array, TYPE)[idx], 1); \ } DEF_OPC_012_2( diff --git a/src/jam.h b/src/jam.h index ce73df6..dbd003f 100644 --- a/src/jam.h +++ b/src/jam.h @@ -24,6 +24,7 @@ #include <limits.h> #include <stdio.h> #include <time.h> +#include <stddef.h> /* Configure options */ #include "config.h" @@ -420,6 +421,14 @@ typedef struct line_no_table_entry { typedef struct object Class; +typedef struct array_object { + uintptr_t lock; + Class *class; + uintptr_t size; + uintptr_t data; + char contig_data[]; +} ArrayObject; + typedef struct object { uintptr_t lock; Class *class; @@ -784,7 +793,7 @@ typedef struct InitArgs { #define INST_DATA(obj, type, offset) *(type*)&((char*)obj)[offset] #define INST_BASE(obj, type) ((type*)(obj+1)) -#define ARRAY_DATA(arrayRef, type) ((type*)(((uintptr_t*)(arrayRef+1))+1)) +#define ARRAY_DATA(arrayRef, type) (*((type**)(((uintptr_t*)(arrayRef+1))+1))) #define ARRAY_LEN(arrayRef) *(uintptr_t*)(arrayRef+1) #define IS_CLASS(object) (object->class && IS_CLASS_CLASS( \ @@ -910,6 +919,7 @@ extern int initialiseGC(InitArgs *args); extern Class *allocClass(); extern Object *allocObject(Class *class); extern Object *allocTypeArray(int type, int size); +extern Object *allocTypeArrayFromClassName(const char *className, int size); extern Object *allocObjectArray(Class *element_class, int size); extern Object *allocArray(Class *class, int size, int el_size); extern Object *allocMultiArray(Class *array_class, int dim, intptr_t *count); -- 1.9.1 |
From: <chr...@gm...> - 2014-10-27 01:29:48
|
From: Christopher Friedt <ch...@mm...> --- src/classlib/gnuclasspath/natives.c | 2 ++ src/jam.h | 4 ++++ src/natives.c | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/src/classlib/gnuclasspath/natives.c b/src/classlib/gnuclasspath/natives.c index ca95e00..c52d590 100644 --- a/src/classlib/gnuclasspath/natives.c +++ b/src/classlib/gnuclasspath/natives.c @@ -1416,6 +1416,8 @@ VMMethod vm_stack_walker[] = { }; VMMethod sun_misc_unsafe[] = { + {"addressSize", NULL, addressSize}, + {"allocateInstance", NULL, allocateInstance}, {"objectFieldOffset", NULL, objectFieldOffset}, {"compareAndSwapInt", NULL, compareAndSwapInt}, {"compareAndSwapLong", NULL, compareAndSwapLong}, diff --git a/src/jam.h b/src/jam.h index ce73df6..d2a5af7 100644 --- a/src/jam.h +++ b/src/jam.h @@ -1235,6 +1235,10 @@ extern uintptr_t *putLong(Class *class, MethodBlock *mb, uintptr_t *ostack); extern uintptr_t *getLong(Class *class, MethodBlock *mb, uintptr_t *ostack); extern uintptr_t *putObject(Class *class, MethodBlock *mb, uintptr_t *ostack); +extern uintptr_t *addressSize(Class *class, MethodBlock *mb, + uintptr_t *ostack); +extern uintptr_t *allocateInstance(Class *class, MethodBlock *mb, + uintptr_t *ostack); extern uintptr_t *objectFieldOffset(Class *class, MethodBlock *mb, uintptr_t *ostack); extern uintptr_t *compareAndSwapInt(Class *class, MethodBlock *mb, diff --git a/src/natives.c b/src/natives.c index 6afe705..782e6fd 100644 --- a/src/natives.c +++ b/src/natives.c @@ -110,6 +110,25 @@ void unlockSpinLock() { LOCKWORD_WRITE(&spinlock, 0); } +uintptr_t *addressSize(Class *class, MethodBlock *mb, uintptr_t *ostack) { + *ostack++ = sizeof( uintptr_t ); + return ostack; +} + +uintptr_t *allocateInstance(Class *class, MethodBlock *mb, uintptr_t *ostack) { + class = (Class*)ostack[1]; + ClassBlock *cb = CLASS_CB(class); + if(initClass(class) == NULL) { + return NULL; + } + Object *ob = allocTypeArrayFromClassName(cb->name, 0); + if ( NULL == ob ) { + ob = allocObject(class); + } + *ostack++ = ob; + return ostack; +} + uintptr_t *objectFieldOffset(Class *class, MethodBlock *mb, uintptr_t *ostack) { FieldBlock *fb = fbFromReflectObject((Object*)ostack[1]); -- 1.9.1 |
From: <chr...@gm...> - 2014-10-27 01:29:28
|
From: Christopher Friedt <chr...@gm...> PATCH 1: Additional methods from sun.misc.Unsafe PATCH 2: Array object modifications This is a follow up from my RFC from some time ago: http://goo.gl/FpTXUA I've been using these results with quite a bit of success. My application is memory mapping and painting the Linux framebuffer using only Java. This method uses FileChannel.map().array() blows ByteBuffer operations out of the water (since they make costly JNI calls each time). I've had speedups of 150x. My first patchset unfortunately added a custom JNI call to facilitate allocating what I call 'flexible' arrays (they are flexible to be contiguous or discontiguous). Obviously custom JNI functions aren't portable. Therefore, I converted the custom JNI to use sun.misc.Unsafe calls instead. Even though this is 'unsafe', it seems to be slightly more portable than custom JNI. I have complementary code for classpath which I would like to submit shortly upstream, but I also wouldn't mind implementing this for OpenJDK compatibility either. C Christopher Friedt (1): additional unsafe methods src/classlib/gnuclasspath/natives.c | 2 ++ src/jam.h | 4 ++++ src/natives.c | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+) -- 1.9.1 |
From: Anitha B G. <ani...@gm...> - 2014-10-27 00:23:23
|
On 26 October 2014 11:48, Robert Lougher <rob...@gm...> wrote: > Yes it is active. Unfortunately there's not a lot of help that I can > give. Macs used to be my main computers so they were well supported > (under Linux and Mac OS X). However, I no longer use Macs (my last > Mac is from 2006 running OS X 10.5). Luckily it appears that JamVM > continued to be buildable on OS X at least until a year or two ago > (judging by feedback) but obviously this is no longer the case. > Without a current Mac there's not a lot I can do, so I'll probably > remove support entirely from the next version. > > In case this is of help, I can see the following from your original post. > > 1) You no longer have gcc on Mac OS X. The C compiler is actually > Clang/LLVM, which is masquerading as gcc. I have never built JamVM > using LLVM as it uses several gcc features. I no idea if JamVM > compiles with LLVM. Even if it does compile, it may not work. > > 2) By default, it is building 64-bit executables. In the past, even > on 64-bit machines, gcc on Mac OS X defaulted to 32-bit. The error > messages you are seeing is because JamVM by default (on Mac OS X) > assumes it is being built for 32-bit. > > You could try configuring JamVM to use libffi, e.g. ./configure > --enable-ffi. As far as I'm aware, Mac OS X should still support > libffi. If this works you will have a 64-bit executable. > > Alternatively you could see if there is a flag to LLVM/Clang to force > it to build in 32-bit mode. Rob, Finally, I am able to build 1.5.4 version forcing clang to build [1] Using -m32. [2] Removing "interp_cflags=-fno-reorder-blocks" (Clang does not like this option) Bare invocation worked so presumably everything should work though I haven't run tests. As a side note --enable-libffi did not work either. Configure (clang) complained that it does not know what the option meant. Thanks for your prompt help -Anitha |
From: Xerxes R. <xe...@gu...> - 2014-10-26 20:05:54
|
The latest OpenJDK secuity update broke all alternative JVM support by introducing a new symbol JVM_FindClassFromCaller java -jamvm -version java: relocation error: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/libjava.so: symbol JVM_FindClassFromCaller, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference The OpenJDK source tree revealed the following information: 8015256: Better class accessibility Summary: Improve protection domain check in forName() http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot/rev/61d1e75e0a58 http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/rev/16cd2826a58f JVM_FindClassFromCaller appears to work quite similar to JVM_FindClassFromClassLoader with the twist that the protection domain that belongs to the caller class argument shall be used during the lookup of the class. The attached patch implements JVM_FindClassFromCaller for JamVM with this obvious TODO: /* XXX The caller's protection domain should be used during the findClassFromClassLoader but there is no specification or unit-test in OpenJDK documenting the desired effect */ java -jamvm -version java version "1.7.0_65" OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.14.04.1) JamVM (build 2.0.1-devel, inline-threaded interpreter) Cheers Xerxes |
From: Robert L. <rob...@gm...> - 2014-10-26 15:48:11
|
Yes it is active. Unfortunately there's not a lot of help that I can give. Macs used to be my main computers so they were well supported (under Linux and Mac OS X). However, I no longer use Macs (my last Mac is from 2006 running OS X 10.5). Luckily it appears that JamVM continued to be buildable on OS X at least until a year or two ago (judging by feedback) but obviously this is no longer the case. Without a current Mac there's not a lot I can do, so I'll probably remove support entirely from the next version. In case this is of help, I can see the following from your original post. 1) You no longer have gcc on Mac OS X. The C compiler is actually Clang/LLVM, which is masquerading as gcc. I have never built JamVM using LLVM as it uses several gcc features. I no idea if JamVM compiles with LLVM. Even if it does compile, it may not work. 2) By default, it is building 64-bit executables. In the past, even on 64-bit machines, gcc on Mac OS X defaulted to 32-bit. The error messages you are seeing is because JamVM by default (on Mac OS X) assumes it is being built for 32-bit. You could try configuring JamVM to use libffi, e.g. ./configure --enable-ffi. As far as I'm aware, Mac OS X should still support libffi. If this works you will have a 64-bit executable. Alternatively you could see if there is a flag to LLVM/Clang to force it to build in 32-bit mode. Rob. On 26 October 2014 15:08, Anitha B Gollamudi <ani...@gm...> wrote: > I am wondering if this mailing list is active... > > On 22 October 2014 12:53, Anitha B Gollamudi <ani...@gm...> wrote: >> On 10 October 2014 05:00, Xerxes Rånby <xe...@za...> wrote: >>> >>> Den 2014-10-08 19:41, Anitha B Gollamudi skrev: >>>> >>>> Hi >>>> >>>> I took the latest jamvm and tried to make it on my macbook pro. I see >>>> following errors. Looks like it is using x86_64 to build in i386. Any >>>> idea what is going wrong? My specs are pasted at the end. >>>> >>>> >>>> SEASs-MacBook-Pro:jamvm-1.5.4 anithagollamudi$ make >>> >>> Can you try JamVM 2.0.0? >>> http://jamvm.sourceforge.net/ >> >> This went to my spam and I just found it. >> >> 2.0.0 did not help either. It gave a configure error. >> >> SEASs-MacBook-Pro:jamvm-2.0.0 anithagollamudi$ ./configure >> checking for a BSD-compatible install... /usr/bin/install -c >> checking whether build environment is sane... yes >> checking for a thread-safe mkdir -p... ./install-sh -c -d >> checking for gawk... no >> checking for mawk... no >> checking for nawk... no >> checking for awk... awk >> checking whether make sets $(MAKE)... yes >> checking build system type... x86_64-apple-darwin14.0.0 >> checking host system type... x86_64-apple-darwin14.0.0 >> configure: error: x86_64-apple-darwin14.0.0 not supported >> >> >>> >>> Cheers >>> Xerxes >> >> >> >> -- >> Anitha > > > > -- > Anitha > > ------------------------------------------------------------------------------ > _______________________________________________ > Jamvm-general mailing list > Jam...@li... > https://lists.sourceforge.net/lists/listinfo/jamvm-general |
From: Anitha B G. <ani...@gm...> - 2014-10-26 15:09:12
|
I am wondering if this mailing list is active... On 22 October 2014 12:53, Anitha B Gollamudi <ani...@gm...> wrote: > On 10 October 2014 05:00, Xerxes Rånby <xe...@za...> wrote: >> >> Den 2014-10-08 19:41, Anitha B Gollamudi skrev: >>> >>> Hi >>> >>> I took the latest jamvm and tried to make it on my macbook pro. I see >>> following errors. Looks like it is using x86_64 to build in i386. Any >>> idea what is going wrong? My specs are pasted at the end. >>> >>> >>> SEASs-MacBook-Pro:jamvm-1.5.4 anithagollamudi$ make >> >> Can you try JamVM 2.0.0? >> http://jamvm.sourceforge.net/ > > This went to my spam and I just found it. > > 2.0.0 did not help either. It gave a configure error. > > SEASs-MacBook-Pro:jamvm-2.0.0 anithagollamudi$ ./configure > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... ./install-sh -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... no > checking for awk... awk > checking whether make sets $(MAKE)... yes > checking build system type... x86_64-apple-darwin14.0.0 > checking host system type... x86_64-apple-darwin14.0.0 > configure: error: x86_64-apple-darwin14.0.0 not supported > > >> >> Cheers >> Xerxes > > > > -- > Anitha -- Anitha |
From: Anitha B G. <ani...@gm...> - 2014-10-22 16:53:30
|
On 10 October 2014 05:00, Xerxes Rånby <xe...@za...> wrote: > > Den 2014-10-08 19:41, Anitha B Gollamudi skrev: >> >> Hi >> >> I took the latest jamvm and tried to make it on my macbook pro. I see >> following errors. Looks like it is using x86_64 to build in i386. Any >> idea what is going wrong? My specs are pasted at the end. >> >> >> SEASs-MacBook-Pro:jamvm-1.5.4 anithagollamudi$ make > > Can you try JamVM 2.0.0? > http://jamvm.sourceforge.net/ This went to my spam and I just found it. 2.0.0 did not help either. It gave a configure error. SEASs-MacBook-Pro:jamvm-2.0.0 anithagollamudi$ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking build system type... x86_64-apple-darwin14.0.0 checking host system type... x86_64-apple-darwin14.0.0 configure: error: x86_64-apple-darwin14.0.0 not supported > > Cheers > Xerxes -- Anitha |
From: Andrew H. <gnu...@re...> - 2014-10-16 15:49:14
|
----- Original Message ----- > "JamVM 2.0.0 is the first release of JamVM with support for OpenJDK. > Although IcedTea already includes JamVM with OpenJDK support, > this has been based on periodic snapshots of the development tree." > http://sourceforge.net/projects/jamvm/files/jamvm/JamVM%202.0.0/README/view > > Its clear that IcedTea should update to support this first JamVM release > that now officially support OpenJDK! > > I have attached patched to update IcedTea 1, 2 & 3 to use JamVM 2.0.0. > > Unlike the JamVM GIT snapshots the jamvm-2.0.0.tar.gz release do not > contain the autoconf.sh script, > instead the release contain a pre-generated configure script. > I have patched IcedTea to use the official JamVM releases from now on > and thus only rely on the configure script to be present. > Yes, I saw the release and thought of doing the same, but haven't had time. I'm much happier with a proper release than hacky snapshots, so I hope this will continue. > > While testing I noted that icedtea 3 configure --enable-jamvm > builds are currently broken, > jdk 8 rev ce71b7e69937 added a new JVM requirement to implement > JVM_GetTemporaryDirectory > I have filed a bugreport to track this regression: > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2034 > > icedtea 3: configure --with-additional-vms=jamvm > builds still succeed, libjava.so is then linked successfully against the > hotspot libjvm.so > openjdk.build/images/j2sdk-image$ ./bin/java -jamvm -version > openjdk version "1.8.0_20" > OpenJDK Runtime Environment (IcedTea 3.0.0pre02+rb27c53ea4272+) (Ubuntu > build 1.8.0_20-b23) > JamVM (build 2.0.0, inline-threaded interpreter) Well, I believe the latter only avoids failing because it doesn't build the JDK against the JamVM libjvm. This is why I don't support this way of building. It gives a false hope that the build has succeeded. > > > icedtea 2: j2sdk-image$ ./bin/java -version > java version "1.7.0_80" > IcedTea Runtime Environment (2.6.0pre08+r17d957f63b11+) (Ubuntu build > 1.7.0_80-b02) > JamVM (build 2.0.0, inline-threaded interpreter) > > > icedtea 1: j2sdk-image$ ./bin/java -version > java version "1.6.0_32" > IcedTea6 Runtime Environment (1.14.0pre+r3a715e42ffe4+) (Ubuntu build > 1.6.0_32-b32) > JamVM (build 2.0.0, inline-threaded interpreter) > > > JamVM upstream and GIT its located at sourceforge. > http://sourceforge.net/p/jamvm > http://sourceforge.net/p/jamvm/code/ci/master/tree/ > http://sourceforge.net/p/jamvm/code/ci/master/tree/INSTALL > There's an issue due to a new function introduced by the latest security update: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2032 (that's for CACAO, you probably want some for JamVM too) so it's probably best to wait until this is resolved to save on having to do two updates. > Cheers > Xerxes > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 |
From: Xerxes R. <xe...@za...> - 2014-10-16 13:48:38
|
"JamVM 2.0.0 is the first release of JamVM with support for OpenJDK. Although IcedTea already includes JamVM with OpenJDK support, this has been based on periodic snapshots of the development tree." http://sourceforge.net/projects/jamvm/files/jamvm/JamVM%202.0.0/README/view Its clear that IcedTea should update to support this first JamVM release that now officially support OpenJDK! I have attached patched to update IcedTea 1, 2 & 3 to use JamVM 2.0.0. Unlike the JamVM GIT snapshots the jamvm-2.0.0.tar.gz release do not contain the autoconf.sh script, instead the release contain a pre-generated configure script. I have patched IcedTea to use the official JamVM releases from now on and thus only rely on the configure script to be present. While testing I noted that icedtea 3 configure --enable-jamvm builds are currently broken, jdk 8 rev ce71b7e69937 added a new JVM requirement to implement JVM_GetTemporaryDirectory I have filed a bugreport to track this regression: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2034 icedtea 3: configure --with-additional-vms=jamvm builds still succeed, libjava.so is then linked successfully against the hotspot libjvm.so openjdk.build/images/j2sdk-image$ ./bin/java -jamvm -version openjdk version "1.8.0_20" OpenJDK Runtime Environment (IcedTea 3.0.0pre02+rb27c53ea4272+) (Ubuntu build 1.8.0_20-b23) JamVM (build 2.0.0, inline-threaded interpreter) icedtea 2: j2sdk-image$ ./bin/java -version java version "1.7.0_80" IcedTea Runtime Environment (2.6.0pre08+r17d957f63b11+) (Ubuntu build 1.7.0_80-b02) JamVM (build 2.0.0, inline-threaded interpreter) icedtea 1: j2sdk-image$ ./bin/java -version java version "1.6.0_32" IcedTea6 Runtime Environment (1.14.0pre+r3a715e42ffe4+) (Ubuntu build 1.6.0_32-b32) JamVM (build 2.0.0, inline-threaded interpreter) JamVM upstream and GIT its located at sourceforge. http://sourceforge.net/p/jamvm http://sourceforge.net/p/jamvm/code/ci/master/tree/ http://sourceforge.net/p/jamvm/code/ci/master/tree/INSTALL Cheers Xerxes |
From: Xerxes R. <xe...@za...> - 2014-10-10 09:20:08
|
Den 2014-10-08 19:41, Anitha B Gollamudi skrev: > Hi > > I took the latest jamvm and tried to make it on my macbook pro. I see > following errors. Looks like it is using x86_64 to build in i386. Any > idea what is going wrong? My specs are pasted at the end. > > > SEASs-MacBook-Pro:jamvm-1.5.4 anithagollamudi$ make Can you try JamVM 2.0.0? http://jamvm.sourceforge.net/ Cheers Xerxes |
From: Anitha B G. <ani...@gm...> - 2014-10-08 17:41:47
|
Hi I took the latest jamvm and tried to make it on my macbook pro. I see following errors. Looks like it is using x86_64 to build in i386. Any idea what is going wrong? My specs are pasted at the end. SEASs-MacBook-Pro:jamvm-1.5.4 anithagollamudi$ make Making all in src /Library/Developer/CommandLineTools/usr/bin/make all-recursive Making all in os Making all in darwin Making all in i386 /bin/sh ../../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../src -I../../../../src -g -O2 -MT dll_md.lo -MD -MP -MF .deps/dll_md.Tpo -c -o dll_md.lo dll_md.c gcc -DHAVE_CONFIG_H -I. -I../../../../src -I../../../../src -g -O2 -MT dll_md.lo -MD -MP -MF .deps/dll_md.Tpo -c dll_md.c -fno-common -DPIC -o .libs/dll_md.o dll_md.c:70:19: error: invalid operand for instruction asm volatile ("subl %0,%%esp" :: "r" ((aligned - tot_args) * sizeof(u4)) ^ <inline asm>:1:7: note: instantiated into assembly here subl %rdx,%esp ^~~~~ dll_md.c:74:23: error: instruction requires: Not 64-bit mode asm volatile ("pushl %0" :: "m" (*--opntr) : "sp"); ^ <inline asm>:1:2: note: instantiated into assembly here pushl (%rdx) ............... $ gcc -v Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn) Target: x86_64-apple-darwin13.4.0 Thread model: posix .......... kern.version: Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 machdep.cpu.brand_string: Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz -- Anitha -- Anitha |
From: Andrew H. <gnu...@re...> - 2014-08-20 21:47:14
|
----- Original Message ----- > Hi Thomas, > > On 19 August 2014 15:29, Thomas De Schampheleire > <pat...@gm...> wrote: > > Hi Rob, > > > > I noticed that JamVM 2.0.0 has been released now, thanks for that! > > > > Some observations though: > > > > - the Sourceforge web site http://jamvm.sourceforge.net/, the summary > > page http://sourceforge.net/projects/jamvm/ and the Download page > > http://sourceforge.net/projects/jamvm/files/ all still refer to 1.5.4 > > as the latest release. I think this should be updated too. > > > > Website updated. I can't update the Download page - I added a new > release, and it should point to it as the latest automatically. I'll > raise an issue with SourceForge. > > > - I have not seen any announcement on the JamVM mailing list. Is it no > > longer in use? Googling explicitly, I found only an announcement on > > your blog http://draenog.blogspot.be/2014/08/jamvm-200-released.html. > > > > The mailing list is still in use. However, judging by page visit > counts, the blog has much greater coverage (links from Planet JDK, > Planet Classpath, and various other developer sites). > > Rob. > > > Thanks, > > Thomas > > ------------------------------------------------------------------------------ > _______________________________________________ > Jamvm-general mailing list > Jam...@li... > https://lists.sourceforge.net/lists/listinfo/jamvm-general > Great news! I'll rebase the various IcedTea trees to JamVM 2.0.0. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 |
From: Guillermo R. <gro...@in...> - 2014-08-20 09:04:25
|
Hi Robert, This is excellent news. The benefits for OpenJDK users are obvious of course. Can you summarize what we can expect in terms of stability, bugfixes, testing coverage, etc. when using GNU Classpath (relative to 1.5.4)? This was not clear to me from the release notes. Thank you, Guillermo Rodriguez Enviado desde mi iPhone El 19/08/2014, a las 18:32, Robert Lougher <rob...@gm...> escribió: > Hi Thomas, > > On 19 August 2014 15:29, Thomas De Schampheleire > <pat...@gm...> wrote: >> Hi Rob, >> >> I noticed that JamVM 2.0.0 has been released now, thanks for that! >> >> Some observations though: >> >> - the Sourceforge web site http://jamvm.sourceforge.net/, the summary >> page http://sourceforge.net/projects/jamvm/ and the Download page >> http://sourceforge.net/projects/jamvm/files/ all still refer to 1.5.4 >> as the latest release. I think this should be updated too. >> > > Website updated. I can't update the Download page - I added a new > release, and it should point to it as the latest automatically. I'll > raise an issue with SourceForge. > >> - I have not seen any announcement on the JamVM mailing list. Is it no >> longer in use? Googling explicitly, I found only an announcement on >> your blog http://draenog.blogspot.be/2014/08/jamvm-200-released.html. >> > > The mailing list is still in use. However, judging by page visit > counts, the blog has much greater coverage (links from Planet JDK, > Planet Classpath, and various other developer sites). > > Rob. > >> Thanks, >> Thomas > > ------------------------------------------------------------------------------ > _______________________________________________ > Jamvm-general mailing list > Jam...@li... > https://lists.sourceforge.net/lists/listinfo/jamvm-general |
From: Robert L. <rob...@gm...> - 2014-08-19 16:33:07
|
Hi Thomas, On 19 August 2014 15:29, Thomas De Schampheleire <pat...@gm...> wrote: > Hi Rob, > > I noticed that JamVM 2.0.0 has been released now, thanks for that! > > Some observations though: > > - the Sourceforge web site http://jamvm.sourceforge.net/, the summary > page http://sourceforge.net/projects/jamvm/ and the Download page > http://sourceforge.net/projects/jamvm/files/ all still refer to 1.5.4 > as the latest release. I think this should be updated too. > Website updated. I can't update the Download page - I added a new release, and it should point to it as the latest automatically. I'll raise an issue with SourceForge. > - I have not seen any announcement on the JamVM mailing list. Is it no > longer in use? Googling explicitly, I found only an announcement on > your blog http://draenog.blogspot.be/2014/08/jamvm-200-released.html. > The mailing list is still in use. However, judging by page visit counts, the blog has much greater coverage (links from Planet JDK, Planet Classpath, and various other developer sites). Rob. > Thanks, > Thomas |
From: Thomas De S. <pat...@gm...> - 2014-08-19 14:29:31
|
Hi Rob, On Wed, Jun 11, 2014 at 11:35 AM, Robert Lougher <rob...@gm...> wrote: > Hi Thomas, > > Code hosting has moved back to Sourceforge, details here: > http://sourceforge.net/p/jamvm/code/ci/master/tree/ > > I found an issue with nashorn while testing OpenJDK 8 which required > rewriting some of the invokedynamic code. This is now done, and I'm > working on the release notes. I noticed that JamVM 2.0.0 has been released now, thanks for that! Some observations though: - the Sourceforge web site http://jamvm.sourceforge.net/, the summary page http://sourceforge.net/projects/jamvm/ and the Download page http://sourceforge.net/projects/jamvm/files/ all still refer to 1.5.4 as the latest release. I think this should be updated too. - I have not seen any announcement on the JamVM mailing list. Is it no longer in use? Googling explicitly, I found only an announcement on your blog http://draenog.blogspot.be/2014/08/jamvm-200-released.html. Thanks, Thomas |
From: Christopher F. <chr...@gm...> - 2014-07-11 19:51:31
|
Incidentally, it has been rumored for some time, but it would seem that Dalvik is now being deprecated by Google on the Android platform. http://www.xda-developers.com/android/breaking-next-major-version-of-android-to-finally-remove-dalvik-and-set-art-as-default/ I wonder if it would make sense for e.g. a GSOC student to potentially work on introducing optimizations in the Dalvik VM back into JamVM / Classpath, e.g. a JIT - at least conceptually similar algorithms in any case, as the codebase has changed dramatically since it was "forked" originally. © Sent from my Android |
From: Christopher F. <chr...@gm...> - 2014-06-22 13:52:15
|
Hi list I'd like to propose that a bunch of us hack together support for the Java Debug Wire Protocol[1] in JamVM. I believe GNU Class path already has done a fair amount of work on this, but I could be mistaken. JDWP would be a handy feature to --enable or --disable at configure time for JamVM, since adding debugging capabilities would potentially introduce additional size and speed concerns. However, it could be very useful for developers during coding and debug phases of a project's lifecycle. Additionally, due to JDWP flexibility, it would enable people to remote debug over a socket and step-debug code in e.g. Eclipse. I will need this feature for at least one open-source project I'm working on [2][3], but I feel as though the rest of the community could benefit from it as well, if their projects are tied to JamVM / Classpath. Incidentally, is anyone aware as to whether JDWP is required for profiling a JVM? Cheers, © Sent from my Android [1] http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp-spec.html [2] https://plus.google.com/107058277812335526223/posts/N4eVKvn2oL4 [3] https://github.com/cfriedt/fb4j |
From: Christopher F. <chr...@gm...> - 2014-06-22 13:35:14
|
Here is my post from G+ https://plus.google.com/107058277812335526223/posts/N4eVKvn2oL4 © Sent from my Android On Dec 31, 2013 2:41 PM, "Christopher Friedt" <chr...@gm...> wrote: > Hi list, > > Shameless self-promotion that might be of interest for embedded Java > developers. > > https://github.com/cfriedt/fb4j > > It wouldn't be possible without JamVM of course ;-) > > Happy New Year! > > C > |
From: Robert L. <rob...@gm...> - 2014-06-11 09:35:17
|
Hi Thomas, Code hosting has moved back to Sourceforge, details here: http://sourceforge.net/p/jamvm/code/ci/master/tree/ I found an issue with nashorn while testing OpenJDK 8 which required rewriting some of the invokedynamic code. This is now done, and I'm working on the release notes. Rob. On 11 June 2014 08:34, Thomas De Schampheleire <pat...@gm...> wrote: > Hi Robert, > > On Fri, May 16, 2014 at 1:23 AM, Robert Lougher <rob...@gm...> wrote: >> On 8 May 2014 12:39, Thomas De Schampheleire <pat...@gm...> wrote: >>> Hi Robert, >>> >>> On Thu, May 8, 2014 at 1:20 PM, Robert Lougher <rob...@gm...> wrote: >>>>My intention was to do this over the weekend, so hopefully >>>> if no problems show up there should be a new release in a couple of >>>> days. >>>> >>> >>> That sounds great, thanks a lot! This will definitely help the >>> Buildroot project. >>> >> >> Quick update. Testing done, no regressions found compared to 1.5.4 >> (with GNU Classpath 0.99). Should be on track to do the release this >> weekend. >> > > > Any further news? > > I wanted to check the git at Berlios, but seems they finally shut down. > Where is the jamvm git repo located now? > > Thanks, > Thomas |
From: Thomas De S. <pat...@gm...> - 2014-06-11 07:35:13
|
Hi Robert, On Fri, May 16, 2014 at 1:23 AM, Robert Lougher <rob...@gm...> wrote: > On 8 May 2014 12:39, Thomas De Schampheleire <pat...@gm...> wrote: >> Hi Robert, >> >> On Thu, May 8, 2014 at 1:20 PM, Robert Lougher <rob...@gm...> wrote: >>>My intention was to do this over the weekend, so hopefully >>> if no problems show up there should be a new release in a couple of >>> days. >>> >> >> That sounds great, thanks a lot! This will definitely help the >> Buildroot project. >> > > Quick update. Testing done, no regressions found compared to 1.5.4 > (with GNU Classpath 0.99). Should be on track to do the release this > weekend. > Any further news? I wanted to check the git at Berlios, but seems they finally shut down. Where is the jamvm git repo located now? Thanks, Thomas |
From: Andïï <gnu...@me...> - 2014-05-22 00:27:14
|
On 22 May 2014 00:48, Ulrich Herberg <ul...@he...> wrote: > On Wed, May 21, 2014 at 4:45 PM, Andïï <gnu...@me...> wrote: >> Grab the latest IcedTea release: >> >> http://blog.fuseyism.com/index.php/2014/04/16/security-icedtea-2-4-7-for-openjdk-7-released/ >> >> and build with ./configure --enable-jamvm > > > Thanks. Since I use buildroot with a cross-compiler for ARM, I was > wondering if that is easily possible. I tried setting up Icedtea > inside buildroot (not sure if that is the right approach), but that is > quite complicated (many dependencies). > > Ulrich Maybe I can say more if you describe your setup in more detail. I don't know what 'buildroot' is. OpenJDK isn't great at cross-compiling, though I did manage to get an x86 build on x86_64 to work today. So it should be possible, in theory. -- Andii :-) |
From: Ulrich H. <ul...@he...> - 2014-05-21 23:49:04
|
On Wed, May 21, 2014 at 4:45 PM, Andïï <gnu...@me...> wrote: > Grab the latest IcedTea release: > > http://blog.fuseyism.com/index.php/2014/04/16/security-icedtea-2-4-7-for-openjdk-7-released/ > > and build with ./configure --enable-jamvm Thanks. Since I use buildroot with a cross-compiler for ARM, I was wondering if that is easily possible. I tried setting up Icedtea inside buildroot (not sure if that is the right approach), but that is quite complicated (many dependencies). Ulrich |