Re: classlib build problem?
IMHO, the compilation problem is already fixed. At least I was able to build recent classlib with eclipse compiler (using blackdown-jre-1.4.2 and drlvm). Ah! Looks like the default rmi implementation was changed and it doesn't contain the problem. The implementation relying on j.u.Scanner is excluded from compilation process. -- Ivan 2006/5/29, Paulex Yang [EMAIL PROTECTED]: You can add the RI's class libraries using a command-line option if you so choose, but I don;t think we should build the Harmony javac to have dependencies upon the RI. Anyone want to get to work on j.u.Scanner ;-) ? Tim, I'd like to work on it, but it is not a small class so it really needs some time... How about put a skeleton into SVN temporally to enable RMI compiling at first? - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Intention to work on Pack200 uncompressor/compressor
On 29/05/06, Jimmy, Jing Lv [EMAIL PROTECTED] wrote: Alex Blewitt wrote: I'm aiming to implement it in pure Java, because one of the other goals is to allow other clients (e.g. Eclipse) to be able to bundle the pack/unpack code. To tell the truth, I was interested in it and planning until something defers my plan. Why I planed to wrote it into native was that: 1. C code of such arithmetic may be faster and 2. Harmony may also contain a executable Pack200 as RI does. And to allow Eclipse-like clients to bundle the code, maybe you can use JNI to port the native codes into Java. IMHO it'll be easy. However I'm just suggesting, it all depends on you. :) There are pros and cons with implementing it in C. The pro that you cite (that it may be faster) doesn't outweigh the con (that you then have to compile it for each platform). Eclipse runs on many operating systems, and having to maintain a native build for each could be quite a challenge :-) That said, there's no reason why a native executable can't exist, and defer to a Java implementation (as the Javac tool does or JavaDoc, for example). That way, you'd still be able to run it outside of Java and be able to ship it as a pure Java file. The algorithm was designed to be implemented in C (I believe that Sun's currently is) so it should still be possible to implement it that way. But bear in mind that the pack/unpack algorithm was designed to run out-of-VM rather than in-VM because they'd assumed that you'd want to pack/unpack once, and run multiple times. So I'm not sure that speed is much of an issue. Having said all that, it would be good to compare notes as both the Java and C implementations progress, so that we can check what's happening with relation to the spec :-) Alex.
[classlib] millions of rmi tests
I've tried to integrate rmi2 tests to rmi module, and found some odd things. Let's take a look for example at TestActivationGroupDesc.java it has 5158 test methods, most of which are very similar. For example it has 855 tests that invoke constructor with various parameters and check that new did not return null and no exception was thrown: Compare public void testActivationGroupDescStringStringMarshalledObjectPropertiesCommandEnvironment006() { try{ Properties p= new Properties(); assertNotNull(msgNotNull, new ActivationGroupDesc(null , null , new MarshalledObject(new Double(23.4)) , new Properties() , new ActivationGroupDesc.CommandEnvironment(Hola la, new String[0]))); } catch (Throwable e) { fail(msgNoException+e); } } and public void testActivationGroupDescStringStringMarshalledObjectPropertiesCommandEnvironment007() { try{ Properties p= new Properties(); assertNotNull(msgNotNull, new ActivationGroupDesc(null , null , new MarshalledObject(new Double(23.4)) , new Properties() , new ActivationGroupDesc.CommandEnvironment(, null))); } catch (Throwable e) { fail(msgNoException+e); } } This is how the constructor under test looks like: public ActivationGroupDesc(String className, String codebase, MarshalledObject data, Properties props, ActivationGroupDesc.CommandEnvironment env) { this.className = className; this.location = codebase; this.data = data; this.props = props; this.env = env; } It seems that instead of those million test cases we need just a few that would verify that getXXX() methods return what was passed into constructor plus possibly some tests that pass 'suspicious' parameters like null. Thoughts? Thanks, Mikhail - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: OPEN Specification
Hello, I would like to try to draw attention to the OPEN proposal again. It was published about two weeks ago and produced a very small response in the community. This interface is very important, because if it is accepted, it will become a base of (many?) Harmony VMs. For example, one of the current limitations of OPEN interfaces is that Component Manager loads all components at startup and there's no possibility to change a component (for example, Garbage Collector) later. Is it OK for everyone? Maybe someone foresees problems with such approach? -- Regards, Anton Luht, Intel Middleware Products Division - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jchevm status?
Ivan Volosyuk wrote: Archie, current version of jchevm has hard coded optimizations in configure.ac, it is difficult to debug the code with optimizations. When disabling optimizations in it (-O0) - there are compilation and execution problems. I have small fix for compilation problems and small dirty fix for execution. Interested? Sure, you can email them to me. We should add a ./configure flag like --disable-optimization or something that would do this. In my experience it's fairly rare that I need to disable optimization because gdb still works well with it (although you have to be aware that sometimes variables disappear etc), but indeed sometimes it's necessary. -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: OPEN Specification
Hi Anton, Are you proposing that all Harmony JVMs must abide by the OPEN proposal? If yes, I think that some process has to be put in place to present and discuss each of this proposal's part, and dedicate time to do so. IMO, I don't think that everyone (in the JVM sub-communityof Harmony) can simply read through this proposal and be able to make an enlightened decision about it. I think that each point would gain much from being presented along the motivation behind it. For example, would your OPEN proposal work with a bidirectional object layout, without incurring prohivitive performance costs? [Just asking, I didn't have time to read through all of it...] Of course, this is only an opinion. :-) Etienne Anton Luht wrote: Hello, I would like to try to draw attention to the OPEN proposal again. It was published about two weeks ago and produced a very small response in the community. This interface is very important, because if it is accepted, it will become a base of (many?) Harmony VMs. For example, one of the current limitations of OPEN interfaces is that Component Manager loads all components at startup and there's no possibility to change a component (for example, Garbage Collector) later. Is it OK for everyone? Maybe someone foresees problems with such approach? -- Etienne M. Gagnon, Ph.D.http://www.info2.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ signature.asc Description: OpenPGP digital signature
Harmony on QNX
Hello I've been investigating the possible use of Harmony on QNX. We would like to use it, along with the QNX j9 VM, to run our self-hosted Eclipse based tools. I was looking through the code today and while it would be some work, I think the port should be relatively straightforward. What I am afraid of is that I would get the port done only to find that it cannot run Eclipse. The statement that leads me to believe that Harmony isn't mature enough to run a full blown Eclipse is the following from the Harmony website: This contribution is sufficient to run Ant and the Eclipse Java compiler, to provide a basic self-hosting environment. IBM also made a version of their J9 VM available http://www.ibm.com/developerworks/java/jdk/harmony for use by the project in evaluating this contribution. I realize this is a fairly old statement, but I would just like to know if Harmony would be able to accomplish what I am hoping it can. Thanks, Rodney - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [classlib] millions of rmi tests
I would agree with the inference that this seems overly verbose and complex. I think your suggestion seems appropriate in this case. We don't need to test ever possible combination of parameters, especially when the method isn't doing anything. -Nathan -Original Message- From: Mikhail Loenko [mailto:[EMAIL PROTECTED] Sent: Monday, May 29, 2006 8:02 AM To: harmony-dev@incubator.apache.org Subject: [classlib] millions of rmi tests I've tried to integrate rmi2 tests to rmi module, and found some odd things. Let's take a look for example at TestActivationGroupDesc.java it has 5158 test methods, most of which are very similar. For example it has 855 tests that invoke constructor with various parameters and check that new did not return null and no exception was thrown: Compare public void testActivationGroupDescStringStringMarshalledObjectPropertiesCommandEnviro nment006() { try{ Properties p= new Properties(); assertNotNull(msgNotNull, new ActivationGroupDesc(null , null , new MarshalledObject(new Double(23.4)) , new Properties() , new ActivationGroupDesc.CommandEnvironment(Hola la, new String[0]))); } catch (Throwable e) { fail(msgNoException+e); } } and public void testActivationGroupDescStringStringMarshalledObjectPropertiesCommandEnviro nment007() { try{ Properties p= new Properties(); assertNotNull(msgNotNull, new ActivationGroupDesc(null , null , new MarshalledObject(new Double(23.4)) , new Properties() , new ActivationGroupDesc.CommandEnvironment(, null))); } catch (Throwable e) { fail(msgNoException+e); } } This is how the constructor under test looks like: public ActivationGroupDesc(String className, String codebase, MarshalledObject data, Properties props, ActivationGroupDesc.CommandEnvironment env) { this.className = className; this.location = codebase; this.data = data; this.props = props; this.env = env; } It seems that instead of those million test cases we need just a few that would verify that getXXX() methods return what was passed into constructor plus possibly some tests that pass 'suspicious' parameters like null. Thoughts? Thanks, Mikhail - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Ant build | IOException
Hi, I am a n00b wanting to contribute to Harmony. All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. [EMAIL PROTECTED]:~/Harmony/make$ ant Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java- 1.4.2-gcj-4.0-1.4.2.0/lib/tools.jar Buildfile: build.xml clean: clean-bin: [delete] /home/anoop/Harmony/build not found. clean: clean-layout: [delete] /home/anoop/Harmony/deploy not found. clean: init: windows-properties: linux-properties: properties: clean-overlay-oss: make-clean: BUILD FAILED /home/anoop/Harmony/make/build.xml:76: The following error occurred while executing this line: /home/anoop/Harmony/native-src/build.xml:121: Execute failed: java.io.IOException: java.io.IOException: No such file or directory The line 121 in the error above is this: dir=${target.platform} in the block: !-- = target: make-clean = -- target name=make-clean depends=properties exec failonerror=true executable=${make.command} dir=${target.platform} arg line=clean / /exec /target Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? -- Thanks and best regards, Anoop
RE: Ant build | IOException
Have you checked out the classlib page here: http://incubator.apache.org/harmony/subcomponents/classlibrary/index.html There is an article about building the classlib and another about doing development with Eclipse. I personally don't do development on a Linux distro, but based on the missing tools.jar error, I would suggest getting either the Sun or BEA JDK (the JRE isn't enough) for Linux to run Ant with for the build. As for running the build, I believe the best practice is to be in the classlib root folder (the relative sub folders will be 'make', 'modules', 'native-src' and others) and run ant -f make/build.xml. Then, if you want to run all of the tests try ant -f make/build.xml test. Make sure you have everything from the 'classlib' trunk checked out; see the 'building' document for the exact SVN path. Another source for information is the Wiki (http://wiki.apache.org/harmony/FrontPage). -Nathan -Original Message- From: Anoop kumar V [mailto:[EMAIL PROTECTED] Sent: Monday, May 29, 2006 9:37 PM To: harmony-dev@incubator.apache.org Subject: Ant build | IOException Hi, I am a n00b wanting to contribute to Harmony. All I have done so far (code-wise) is checkout the harmony code (revision 410710) from svn and run ant from ~/Harmony/make folder. But I am running into errors: I am using GCJ on Ubuntu5.10. [EMAIL PROTECTED]:~/Harmony/make$ ant Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java- 1.4.2-gcj-4.0-1.4.2.0/lib/tools.jar Buildfile: build.xml clean: clean-bin: [delete] /home/anoop/Harmony/build not found. clean: clean-layout: [delete] /home/anoop/Harmony/deploy not found. clean: init: windows-properties: linux-properties: properties: clean-overlay-oss: make-clean: BUILD FAILED /home/anoop/Harmony/make/build.xml:76: The following error occurred while executing this line: /home/anoop/Harmony/native-src/build.xml:121: Execute failed: java.io.IOException: java.io.IOException: No such file or directory The line 121 in the error above is this: dir=${target.platform} in the block: !-- = target: make-clean = -- target name=make-clean depends=properties exec failonerror=true executable=${make.command} dir=${target.platform} arg line=clean / /exec /target Can someone please point me what is the obvious-wrong I am doing? Should I use Sun / Bea java for the build? And can I do development for Harmony using some IDE like IntelliJ IDEA? And Should I not run the default ant target if I am just going to do java work? -- Thanks and best regards, Anoop - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]