Hi
Hi,
I'm interested in the task of porting classlib to the 64bit platform
(em64t/amd64).
At this moment, classlib's source structure and build system doesn't
support
the diversity of platforms.
Let's discuss what changes have to be made to support other platforms.
One way is to move
+ 1
I have received the ACQs and the BCC for Harmony-438, so I can assert
that the critical provenance paperwork is in order and in SVN.
Please vote to accept or reject this codebase into the Apache Harmony
class library :
[ ] + 1 Accept
[ ] -1 Reject (provide reason below)
Lets let this
Today is Harmony's 1st birthday :)
geir
Happy birthday from Italy :-)
Enrico
-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
Hi Andrey,
I took a brief look at the code and the documentation, and noticed
that DRLVM is written in C++ instead of plain C.
Is there any particular reason for using C++?
Could you briefly tell us the story of DRLVM?
Enrico
Dear All,
I'm happy to announce the contribution of the DRL
Does any onw know if newer editions of MSVS libraries
handle more than these few signals?
Dan Lydick
Hi Dan,
here are two interesting posts:
http://archives.postgresql.org/pgsql-hackers-win32/2003-10/msg00025.php
http://openvpn.net/archive/openvpn-devel/2004-08/msg00012.html
Enrico
Tim Ellison wrote:
Enrico Migliore wrote:
snip
problem 4: Native code dependancies
---
The Harmony class library depends on the port layer:
http://svn.apache.org/viewcvs.cgi/*checkout*/incubator/harmony/enhanced/classlib/trunk/doc/vm_doc/html/index.html
Hi Tim,
Enrico Migliore wrote:
does the MSVC port library support the windowing system of Windows?
No (but I can recommend SWT as a cross-platform windowing model ;-) )
the consequence of that is that, at the moment, the Harmony Class
Library can only support console based
Hi Etienne,
Enrico Migliore wrote:
I debugged the classical HelloWorld class with DDD and found the problem
in the following function:
_svmf_init(void)
{
pthread_once(...); SEGSEGV signal
That's definitely a cygwin bug. I see.
The SEGSEGV signal is issued by Windows
Hi Tim,
Of course, the plan is for Harmony to have AWT and Swing code.
Ok
Does instead, the port library for UNIX support any windows manager?
AFAIK you generally choose a windowing manager and code to it -- I'm
unaware of any cross-manager port libraries (but I'm not a UI person
Hi,
I'm doing some testing on SableVM, and noticed that is receives the very
same segmentation fault signal that JCHEVM does, from
pthread_key_create() which is embedded in:
/usr/bin/cygwin1.dll
I read around that this problem could be fixed, but the error means that
the Cygwin platform
Hi Dan,
Enrico,
Are you able to compile this latest source level?
I'm busy at the moment and didn't download your latest snapshot. Sorry :-(
Whether you can or not, would you mind to send
me your MS project and MS workspace files
(I forget if this is the right name on VS. Maybe
this is
Hi Etienne,
Enrico Migliore wrote:
I'm doing some testing on SableVM, and noticed that is receives the very
same segmentation fault signal that JCHEVM does, from
pthread_key_create() which is embedded in:
/usr/bin/cygwin1.dll
I read around that this problem could be fixed, but the error
Hi
As far as I can say, the main problem of porting a JVM, designed for
UNIX, to the Windows environment are the ANSI signals:
Windows, in fact, doesn't honor not even a fourth of all ANSI signals,
therefore, the JVM signals handler WILL NOT be called by Windows.
I am not an MSVS
bootjvm wrote:
All,
After some piecemeal fits and starts on the BootJVM code, I am
about ready to get started on another round. I am checking in
the opcode work that brings this JVM to a place of basic functioning
except for the ATHROW opcode, which is my first order of business
with this
Hi Dan,
I built BootJVM with MSVC in November 2005 but, as you told me, bootJVM
couldn't run any Java application because it was not completed yet.
Enrico,
That is great news! Could you work with me to produce
MSVS project and workspace files for this, please?
At the moment I'm working
hi folks,
I've just built SableVM and Classpath-0.20 on Cygwin without problems
and the HelloWorld console application runs perfectly :-)
While waiting for the VMI interface to be ready, I'm gonna do the
following steps:
1. Try to enable the -no-cygwin GCC flag
2. Try to setup the mingw
Hi Etienne,
2 things:
1- SableVM has, from the beginning, put portability as one of its main
objectives. This is why we went all the way to write an inline-threaded
interpreter engine, as to get as much speed without sacrificing
portability and requiring knowledge of intimate details of the
Mark Hindess wrote:
On 4/1/06, Enrico Migliore [EMAIL PROTECTED] wrote:
I, and others, ported JCHEVM to Cygwin, during the past 2 months; there
are still a couple of things to fix, but the main work is done.
The port was made in order to be able to study JCHEVM on the Windows
platform. I
Hi,
I've followed the discussion about the SableVM code donation to the
Apache foundation, but I still need to understand a couple of things:
SableVM or JCHEVM?
At the moment there two virutual machines: which of the two should one
choose to work on?
SableVM svn
Hi Etienne,
Hi Enrico,
SableVM's trunk ( svn co svn://svn.sablevm.org/sablevm/trunk ) is now
licensed under the Apache License 2.0. As SableVM is maintained by a
number of developers, but is also used by many of my students to develop
new VM components and do research, it was deemed more
Hi,
The main document on porting is at:
http://tinyurl.com/jfljq
The VM Interface is described at:
http://tinyurl.com/gtd64
and the required kernel classes are described at:
http://tinyurl.com/hawkl
Regards,
Mark.
Hi all,
I'm reading the documentation above and, at first glance, it
Etienne Gagnon wrote:
Hi Weldon,
I've started reading about the VMI. While my initial goal would be to
get SableVM to work with Harmony as a drop-in replacement for IBM's VM,
I have some questions about some assumptions of the VMI.
Hi Etienne,
could you tell me where I can find the
Etienne Gagnon wrote:
Hi All,
Good news! I have received all the necessary permissions to license
SableVM under the Apache License 2.0 (AL2). See:
http://sablevm.org/lists/sablevm-devel/2006-March/000620.html
I hope that licensing SableVM under the AL2 will mark the start of a
nice
Geir Magnusson Jr wrote:
Second, we need to discuss here in Harmony the approach we want to
take with adopting the community of committers. We have many people
here that are not committers that have been working hard earning
commit status, so we need to be careful not to discourage anyone.
Hi Geir,
I've just removed the blocks on SVN and viewcvs as the claim has been
resolved to everyone's satisfaction.
ok, good.
I'd like to thank everyone involved for approaching this earnestly and
in good faith, working together to get this problem fixed.
As a benefit, we've built a
quite excited at the opportunities.
I think that the opportunity, in terms of number of programmers involved
and knowledge share, that we all are facing is great.
You (and all Harmony developers) are welcome to join the discussion. :-)
Etienne
thanks :-)
Enrico Migliore wrote
Weldon Washburn wrote:
Archie,
I can now run the below multithread Hello.java on JCHEVM using Apache
Harmony Class Library. The output toggles between clumps of Hello
World and clumps of * as WindowsXP schedules the two application
threads. This is behavior I would expect. I use
Weldon Washburn wrote:
Enrico,
I am able to run hello world at the prompt line on Cywin. But when
I run it under gdb, it hits a SIGSEGV. The error messages don't hint
that signals need to be configured. The uninformed can spend lots of
time trying figure out these details. It might be
Weldon Washburn wrote:
Archie,
I finally got JCHEVM to compile and run hello world with gnu
classpath. My next step is to replace gnu classpath with harmony
class lib. For anyone interested, below is the workarounds I used:
1)
Unzip /usr/local/classpath/share/classpath/glibj.zip to
Archie Cobbs wrote:
Enrico Migliore wrote:
I noticed that Ivan introduced the macro __CYGWIN__. Did you merge
the macro in the source tree, or it exists only in Ivan's code?
All of the Cygwin fixes that I know of (except unzipping the zip files)
should be merged into the source now
Hi Ivan and Archie,
After applying your fix it no more crashes.
Just tested this with QuickSort algorithm. It's running OK. (but a
bit slow under cygwin in comparison to SUN's JVM under Win)
Great job!
JCHEVM will definitely be slower right now because there's no JIT
yet, i.e., it always
Hi,
So what we'd need now is a mechanism to override
the automatic choice of platform. I wouldn't be too surprised if
someone decided to create platforms for the other two (?) choices of
windows implementation - cygwin native and cygwin w/o cygwin.dll.
??? native windoze and cygwin, or do
The cygwin.dll acts as an emulation layer for all those POSIX functions
that
Windows doesn't have. If a program doesn't call any of the functions
provided
by cygwin.dll, then, this library is not needed and, I guess, it's not
even loaded.
GCC, when used on Cygwin, produces always a native
snowdosker wrote:
Archie, Ivan,
I am following the email that Ivan Snowdosker sent on Monday, Feb 20
that describes how to build and run JCHEVM. I have hit a couple of
bewildering snags. I installed the latest version of cygwin from the
net but there still seems to be build problems.
I
Hi Tim,
Enrico Migliore wrote:
Archie, Geir and Stefano,
could you please take a look at the following assertion and correct it
if it's wrong:
It's worth to remember, that the goal of porting JCHEVM to Cygwin/Windows,
is to enable us, and the people interested, to have a development
Hi Archie and Ivan,
Archie Cobbs wrote:
Today I've made changes to eliminate the requirement that
_JC_FULL_ALIGNMENT
be at most sizeof(_jc_word), so this will fix the assertion in heap.c.
hope that doesn't sacrifice any of the features of jchevm
As for the failure to exit properly, this
snowdosker wrote:
Hello, Enrico
2) in order to proceed, let's align our development environment in
terms
of source code modifications. In fact, to build jchevm, just like
you, I had
to add some declarations in some header files, and modify the pread()
call into a read(). My proposal is
Archie, Geir and Stefano,
could you please take a look at the following assertion and correct it
if it's wrong:
It's worth to remember, that the goal of porting JCHEVM to Cygwin/Windows,
is to enable us, and the people interested, to have a development
environment on Windows,
in order to
snowdosker wrote:
Hi, Enrico
Finally HelloWorld is working!
in libjc\arch\arch_definitions.h
redefine dll name format for cygwin
#if defined(__CYGWIN__)
#define _JC_LIBRARY_FMTcyg%s-0.dll
#elif
#define _JC_LIBRARY_FMTlib%s.dll.a
#endif
Hmm
snowdosker wrote:
Hi, Enrico.
Just figured out the roots of the problem. It comes from dlopen()
function on cygwin.
*JCHEVM* use the following code for loading native shared libraries
in \cygwin\home\ivan\jchevm\libjc\native_lib.c line:330
else if ((handle = dlopen(dlname, RTLD_NOW))
snowdosker wrote:
Thank you Enrico and Archie.
So now with assertions disabled I faced next problem, Enrico
mentioned in his email.
The same
failed to open native library
/usr/local/classpath/lib/classpath/libjavanio.dll.a: permission denied
I'm trying to run it under XP professional so
Hi Salikh ,
Do you have cygwin1.dll in the PATH?
yes
you may want to use 'depends.exe' or 'dumpbin.exe /dependents' from
Microsoft
SDK or 'objdump --private-headers' from Cygwin distribution to find out
what specific dynamic libraries jc.exe depends on.
Thanks for the suggestion.
snowdosker wrote:
Hi, Enrico.
Thank you for your help.
Looks like I am following you step by step and now have the same error
which you discussed with Archie few days ago =)
assertion failure 1
-
vm.c - line 46
message = assertion failure: _JC_FULL_ALIGNMENT =
snowdosker wrote:
Hello Enrico
I'm trying to build JCHEVM following your steps described at
http://www.mail-archive.com/harmony-dev@incubator.apache.org/msg03212.html
I was able to build Classpath sucsesfuly, but
fail making JCHEVM
In result I have
native/java_lang_VMThread.c: In
Ryan Bloom wrote:
As one of the original authors of APR, I would like to suggest that
instead of using OS dependant native code, when we get to the point of
writing awt, we should create an apr-window project, and create the
library for the abstraction layer. I have had enough conversations
Stefano wrote:
I think we would gain a lot of value by using APR instead of
reinventing something that 5 years from now will look just like it.
Hi Stefano,
I took a look at the documentation of the APR project:
http://apr.apache.org/docs/apr/modules.html
Enrico Migliore wrote:
2. An APR port to the ARM embedded platform doesn't exist
Tom wrote:
Thanks for checking that out! About (2): From what I am seeing these
days it is important to support ARM. BTW, where did you get this
information about ports not being available please? I did
Mladen Turk wrote:
Enrico Migliore wrote:
I took a look at the documentation of the APR project:
1. APR doesn't cover is the Windowing subsystem
Sure, APR is something POSIX is meant to be.
2. An APR port to the ARM embedded platform doesn't exist
If someone wishes to build a GNU
Stefano Mazzocchi wrote:
[EMAIL PROTECTED] wrote:
Author: tellison
Date: Fri Feb 10 05:57:38 2006
New Revision: 376690
URL: http://svn.apache.org/viewcvs?rev=376690view=rev
Log:
Applying patches received as HARMONY-42 (com.ibm.io.nio.FileChannel
is not fully implemented)
- refactoring of
Mladen Turk wrote:
Enrico Migliore wrote:
Stefano Mazzocchi wrote:
The GNU/Classpath guys, for example, have defined a standard
interface to underlying OS
and that's it. Therefore I don't think we really need the APR layer.
Well, perhaps some day, someone will just 'brake' and
instead
Archie Cobbs wrote:
What does this program print?
/*
* Compile me from the top jchevm directory like this:
*
* cc -I libjc -I include -I libjc/native -I libjc/arch -o xx xx.c
*/
#include libjc.h
int
main(int ac, char **av)
{
printf(_JC_FULL_ALIGNMENT=%u\n, _JC_FULL_ALIGNMENT);
Hi Geir,
Now lets get JCHEVM to also use the Harmony Classlib :) It will be
great for A/B testing.
It's a task that Archie and I would like to accomplish in the near
future, when time permits.
Enrico
Hi folks,
I've finally built JCHEVM and Classpath 0.20 on GCC/Cygwin/Windows.
There are still a few things to fix and port but the main job is done.
At the moment, when calling:
$jc HelloWorld.class
jc throws an exception because it can't find a .so library in Classpath.
ciao,
Hi Archie
In order to build JCHEVM with Cygwin I took the following steps:
1. Built Classpath 0.20 with Cygwin, with the following options:
$./configure --with-jikes gtk-peer-enable
2. Downloaded JCHEVM and read Apache.README and INSTALL
3. Ran successfully the following script:
+1
Enrico
Intel has offered an addition to the classlib effort in the form of
security code to the project under the Apache License to Apache
Harmony. It can be found here :
http://issues.apache.org/jira/browse/HARMONY-16
The paperwork (Bulk Contribution Checklist and supporting
Hi Tim,
As you likely know, ApacheCon is underway this week in San Diego. Here
are a few scratchings from the Harmony related meetings so far.
The talk was well attended, a very rough guess would be 60 - 70 people
in the room. Questions from the floor were few, and included what if
Sun open
The good news first: it compiles now. The problem I described in the
previous mail was that libjc was linked with the option -module (so
it can be dlopen()ed) and this is not portable. I removed the -module
and now it compiles.
I stripped out lots of ELF specific stuff, so my version could be
Migliore
/*
**
*
* Enrico Migliore - co-founder and senior electronics engineer
*
* FATTI srl - OSGi, GPRS, and GSM systems
*
* Via Donatello 48 - 20020 - Solaro - Milano - Italy
* Phone: +39 (0)2 9679 1836
* Fax: +39 (0)2 9679 9373
* http
Geir Magnusson Jr. wrote:
Instead of distributing from freebsd.org, we should think about
making binary snapshots of Harmony stuff available for people to run
and play with.
This isn't a release, of course, but just a binary snapshot of where
we are for those that don't have the
Archie Cobbs wrote:
For anyone who wants to play with the JCHEVM contribution, the code in
https://svn.apache.org/repos/asf/incubator/harmony/enhanced/trunk/sandbox/contribs/jchevm/jchevm
should now be buildable and runnable (on x86 machines only).
The file APACHE.README contains some
Hi,
I finally compiled and linked the source tree ..\bootJVM\\jvm\src,
with MSVC, and using the pthreadVC2.dll library.
To produce a successfull build, I had to slightly adapt the source
code and comment out, at the moment, the getwd( ) UNIX function,
located in classfile.c
Since, tomorrow I'm
hi,
I finally compiled bootJVM with MSVC 6.0 but still have 13 problems
when linking.
The most common problems I faced, during in the compilation process, were:
1. *.c
In many files, some variables are defined after a certain
number of C statements.
I had to move the
Enrico,
Did Tim's comment help? Did this resolve it?
Have you had any other porting issues in either
compilation or configuration? I would like for us to
keep up with these sorts of issues because it would
be great if we could support MSVC as one of the
development _and_ target type
--- Enrico Migliore [EMAIL PROTECTED] wrote:
For a win32 pthread implementation, try this:
http://sources.redhat.com/pthreads-win32/
There are two libraries I downloaded this one:
pthreadVC2.lib
Shouldn't more care to be taken RE pointing people to
LGPL resources on this list
hi guys,
I'm trying to compile bootJVM with MSVC but
I can't proceed because the 'long long' type
(Java long types are 8 bytes wide) is not supported.
Can any body help?
Enrico
Florian Weimer wrote:
* Enrico Migliore:
the code is a simple function that gets called 3 times.
There's an explicit check in GCC that prevents the removal of empty
loops (because they are sometimes used for their timing effect on
embedded targets, IIRC). Therefore, your
Hi,
I did some tests in order to see which, among MSVC,GCC and DevCpp
compilers yield the code with the best speed performance.
The test is a function that contains pure ANSI C code (no __fastcall or
similar)
and doesn't call any system call of the underlying OS.
Tanuj Mathur wrote:
Hi Enrico,
Could you provide a link to the code you used to perform these
tests? i'd like to replicate the results for MSVC6, and then compare
it with MSVC 7.1 and 8 (VS 2003 and VS 2005 Beta respectively). MSVC6
is a very old compiler (1997/98), and since the C++ compiler
Hi Enrico,
For what it's worth, here is the data you wanted :)
OS: Windows XP Prof. with SP2
Processor: Intel P4 3 GHz with HT
RAM: 512 MB, ~155 MB free
Tested against the code supplied in your earlier mail.
Compilers Tested: 1. MingW with GCC 3.4.2
Hi,
I did some tests in order to see which, among __fastcall, __stdcall,
__cdecl, __inline,
gives the fastest execution time: my_functions() was called 3 times
Processor = Intel Pentium 1.4 GHz
OS = Windows 2000
Compiler = Microsoft Visual C
Executable type = release
I'm working with Dan's bootVM to get to run on Windows, and have been
thinking about the use of -fpack-struct vs #pragm pack() vs just not
packing and writing code that is a little slower, and a little more
verbose, but seemingly more robust and maintainable due to less
information about
+1
David Tanzer has offered his proof-of-concept component model to the
project. It can be found here :
http://issues.apache.org/jira/browse/HARMONY-5
[ ] +1 Accept the code into the project
[ ] -1 Don't accept the code. Reason :
--
Notes :
1) Yes, this is formal, but we want a
Can we reach a concensus on getting something started on Windows/
x86 and
Linux/i386 initially (as the popular development platforms)? Then...
That works for me, but we'll be adding OS X as that's my platform,
and I suspect for now will be my problem :)
Don't forget Solaris,
Richard S. Hall wrote:
Stefano Mazzocchi wrote:
do you plan to add support for class versioning?
how does this impact service frameworks like OSGi and friends?
That is a good question. So far, the JSR does not comment on OSGi R4,
which basically addresses all of the issues raised.
their
implementation works. They've been poor enough at seperating implementation
and specification for that. All you need is to look carefully at the API docs
and have
a modicum of deductive reasoning.
/Sven
--
/*
*
*
* Enrico Migliore - co
Dear Steven,
Please refer to this:
http://www.gnu.org/software/classpath/faq/faq.html#faq3_2
It may be beneficial to learn the lib source of Sun JDK, but I think
it's better to start from a clearer point.
I read the FAQ you mentioned, and this the excerpt, I
dear theuserbl
The sourcecode of Suns JVM is public, but not OpenSource.
The reason why Harmony exists is the
disaffection/discontent/discontentment/dissatisfaction/
discontentedness with Suns license.
If you use Suns code, you have at the end something line Blackdown.
And that don't
Hi guys,
I've got a few questions, regarding the Harmony project:
1. How can one get involved?
2. How many hours a week, on the average, is it required?
3. What kind of background is it needed?
thanks,
Enrico
Hi guys,
when will the Harmony project start?
thanks,
Enrico
79 matches
Mail list logo