Evgueni Brevnov wrote:
BTW, here is two more interesting cases
1) Throw uncaught exception in a new thread. Both RI and DRLVM give 0
in that case.
2) Call System.exit(123) in a new thread. Both RI and DRLVM give 123.
Currently, DRLVM calls system _exit() at the end of System.exit().
On the 0x212 day of Apache Harmony Tonny Lau wrote:
30 Oct 2006 11:03:50 +0600, Egor Pasko [EMAIL PROTECTED]:
On the 0x212 day of Apache Harmony Tonny Lau wrote:
Hi,
I want to override some specific java methods with native fast path
implementations. So I try to override them in
Today I see several possible solutions. The complete solution with calling
arbitrary native methods from Java is not ready: we are just discussing it
in a separate thread. The first step of calling arbitrary native calls from
Java is VM helpers inlining framework. I'm going to commit it today and
Tim,
I agree, we shouldn't kill entire process. Unfortunately, it is how
current implementation does. Actually, shutdown process is a weak
place of DRLVM and needs deep refactoring. I will try to figure out
what we can do as a short term solution.
Evgueni
On 10/30/06, Tim Ellison [EMAIL
I'm actually not sure if that first page is up to date or not (
http://incubator.apache.org/harmony/subcomponents/classlibrary/dev_eclipse.html).
I think it should be but I have not ever been able to get it to work
myself. Can anyone else confirm whether it is still in date or not?
Also I'm
Hi Tony,
I agree that the current implementation handles digits incorrectly. So
+1 for fixing decapitalize() and following RI. Thanks for finding it.
Thanks,
2006/10/30, Tony Wu [EMAIL PROTECTED]:
this testcase passed on RI but failed on Harmony
public class TestBeans extends TestCase {
Alexey,
I didn't mean to fix getEnclosing method impl itself. Yes the compiler
should provide such info. Sorry for confusion...
Evgueni
On 10/30/06, Alexey Varlamov [EMAIL PROTECTED] wrote:
2006/10/30, Nathan Beyer [EMAIL PROTECTED]:
I see that one of the ECJ bugs has been fixed [1], but the
Mikhail Fursov wrote:
The solutions we have today:
1) If you have only a few methods to be affected: create separate JIT
instance without inliner and add method filters to EM configuration file.
Check
http://incubator.apache.org/harmony/subcomponents/drlvm/emguide.htmland
*.emconf files
Sian January wrote:
I'm actually not sure if that first page is up to date or not (
http://incubator.apache.org/harmony/subcomponents/classlibrary/dev_eclipse.html).
I think it should be but I have not ever been able to get it to work
myself. Can anyone else confirm whether it is still in
Hi all,
I'm now reading the lastest version of drlvm. Now I have a question about the
thread management module. I see that there are three kinds of control blocks:
HyThread, JVMTIThread and VM_thread. What's the difference of their rols?
Especially HyThread and VM_thread. As far as I know,
Hi,
https://issues.apache.org/jira/browse/HARMONY-2006 is created with
patches :-). I created two separate patches one for DRLVM another one
for Classlib. I don't know if IBMVME requires additional changes. Even
though DestroyJavaVM will not terminate the whole process now it still
doesn't clean
If I get it right, in case of automagic unloading, GC does all the job
without a knowledge whether it collects a class, a classloader or
whatever else.
Perhaps I'm missing something, but to provide a callback on class
unloading, the GC must know the semantic of the object being collected.
Am
I have two old verified and unassigned issues
http://issues.apache.org/jira/browse/HARMONY-1419
http://issues.apache.org/jira/browse/HARMONY-1175
Could anybody close them?
Thanks
My concern is that if there is too much documentation and it's not well
structured then people won't be inclined to read any of it. If 50% of the
Getting Started With DRLVM page is actually about Eclipse, my feeling is
that it won't be as useful for people who actually want to get started with
Hello,
this is legacy thread structure. You're right, there was no HyThread
at first, but VM_thread structure. Also different DRLVM modules used
to have dedicated fields in this structure. Further it was decided to
make threading module independent and make usage model of threading
module the
On 10/29/06, Xiao-Feng Li [EMAIL PROTECTED] wrote:
Weldon, the problem is, there is no well-established parallel
compaction algorithms. So far the best known work are 1. SUN's work;
2. IBM's work and 3. Compressor. No one knows which one is the best
for different workloads. We have to identify
2006/10/30, Evgueni Brevnov [EMAIL PROTECTED]:
Hi,
https://issues.apache.org/jira/browse/HARMONY-2006 is created with
patches :-). I created two separate patches one for DRLVM another one
for Classlib. I don't know if IBMVME requires additional changes. Even
though DestroyJavaVM will not
Well, my 2cents:
My concern is that if there is too much documentation and it's not well
structured then people won't be inclined to read any of it. If 50% of
the
Getting Started with DRLVM page is actually about Eclipse, my feeling
is
that it won't be as useful for people who actually want to
Yes - I know AspectJ works on the bytecode and not as a pre-processor to the
source code and I don't think any other AO languages do that either.
Although I'm an advocate for AOP I think we would want to think seriously
before introducing a dependency on a non-javac compiler to Harmony. However
The point is not that it is unimportant because it is an optimization. It is
1) it seems something that is be good to have, but is not urgent
immediately 2) that given the nature of our best solution ( java tables etc.
) is risky, we may not want to experiment with it in the main branch. We
Thanks, so you mean that there is only non threading data currently in
VM_thread block, and maybe the VM_thread block will be replaced by TLS in
HyThread, right?
Bin
- Original Message -
From: Nikolay Kuznetsov [EMAIL PROTECTED]
To: harmony-dev@incubator.apache.org
Sent: Monday,
Yes, this data is non threading and separate fields of VM_thread
structure should be replaced with independent values (data structures)
stored in TLS under separate keys.
Nik.
On 10/30/06, Fan Bin [EMAIL PROTECTED] wrote:
Thanks, so you mean that there is only non threading data currently in
Etienne,
I read section 3.2.3 (Class-Loader-Specific Memory) of gagnon-phd.pdf.
Please tell me if the following is a correct interpretation. You create
a new memory manager that is uniquely associated with each new class
loader. All the C data structures associated with a class loader
Hi all,
Here's a more structured proposal for a simple and effective
implementation of class unloading support.
In accordance with Section 2.17.8 of the JVM spec, class unloading (and
its related native resource cleanup) can only happen when the class
loader instance becomes unreachable. For
Hi Weldon,
Weldon Washburn wrote:
I read section 3.2.3 (Class-Loader-Specific Memory) of gagnon-phd.pdf.
Please tell me if the following is a correct interpretation. You create
a new memory manager that is uniquely associated with each new class
loader.
Right.
All the C data structures
All,
I've put $subj to JIRA: http://issues.apache.org/jira/browse/HARMONY-2008
Please review, comment and make it commited :)
I can answer any questions about current implementation and it's state in
this thread.
Brief list of changes:
1) gc_cc - helper written in Java added.
2) vmcore - support
All,
New documents have been added to HARMONY-2003. These are a description
of the Jitrino.OPT and .JET compilers, with a supplementary doc on the
pipeline management framework inside the JITs. The docs describe the
architecture, processes and usage of the components.
It would be great if
Sian,
Taking into consideration your comments, I've opened a new JIRA issue
[http://issues.apache.org/jira/browse/HARMONY-2009] and have created a
patch for the page Developing Apache Harmony Class-library Code with
Eclipse. Would be great, if you find a chance to look it through.
Hope we'll
I like it. I don't fully understand the fine details yet. But overall it
seems to be a clean design. Maybe it makes sense for someone to prototype
this in drlvm.
On 10/30/06, Etienne Gagnon [EMAIL PROTECTED] wrote:
Hi all,
Here's a more structured proposal for a simple and effective
Just my $0.02:
Actually VM_thread contains thread-local data. The VM_thread is a thread
local data by itself. HyThread keeps a pointer to it, so VM_thread is always
accessed from HyThread.
Some of the components, e.g. GCv4 and GCv5, keeps all thread local data in
VM_thread, but others JIT, GC_CC
Sveta,
I've taken a brief look at the patch, and I like most of your
corrections. The page looks neater this way, and holds important data.
One question: can't we say that some of the tips given on the page apply
to harmony code in general, not just classlib? So a side idea would be
to have one
Premature optimization is the root of all evil
Donald Knuth
Just a small idea: Let teach JIT to purge this code unless special
option
is ON
+1
I believe a computer should adapt to my way of thinking. I prefer a
simple and readable code to
+1
Thank you,
Nadya Morozova
-Original Message-
From: Konovalova, Svetlana [mailto:[EMAIL PROTECTED]
Sent: Monday, October 30, 2006 5:05 PM
To: harmony-dev@incubator.apache.org
Subject: RE: [build] Building on Eclipse - FYI
Well, my 2cents:
My concern is that if there is too much
Geir, about your suggestion
I think that if we have an eclipse document, and the info is accurate,
I
say why not?
I also think that the more docs the better :) issues that I see with
this particular doc:
- info is not always up-to-date: old cmd options, old java executable
name, many other
Hi,
Does anyone have an accessible reference to the OOPSLA paper An efficient
parallel heap compaction algorithm by Abuaiadh, Ossia, Petrank,
Silbershtein that is cited as a reference in the paper Xiao Feng points
to below? All my google searches lead to the ACM Portal :-)
Thanks,
Rana
On
I thought it would be fun to see what a Windows installer would look
like for Harmony.
So this morning, just for kicks, I was playing with NSIS
(http://nsis.sourceforge.net/) and produced a prototype installer very
easily (kudos to them). I'll put the source for it here [1], and you
can download
Is it the same?
http://citeseer.ist.psu.edu/630853.html
or
http://www.cs.technion.ac.il/~erez/Papers/parallel-compaction.ps
On 10/30/06, Rana Dasgupta [EMAIL PROTECTED] wrote:
Hi,
Does anyone have an accessible reference to the OOPSLA paper An
efficient
parallel heap compaction algorithm by
Tim,
I support your choice. NSIS 2 is the best freely available installer I know
(and worked with).
On 10/30/06, Tim Ellison [EMAIL PROTECTED] wrote:
I thought it would be fun to see what a Windows installer would look
like for Harmony.
So this morning, just for kicks, I was playing with NSIS
Perfect, thanks Mikhail
On 10/30/06, Mikhail Fursov [EMAIL PROTECTED] wrote:
Is it the same?
http://citeseer.ist.psu.edu/630853.html
or
http://www.cs.technion.ac.il/~erez/Papers/parallel-compaction.ps
On 10/30/06, Rana Dasgupta [EMAIL PROTECTED] wrote:
Hi,
Does anyone have an accessible
Etienne Gagnon wrote:
Chris Gray wrote:
For JavaME I think it's the only way we'd be able to maintain a single
source tree. We need to be able to #ifdef out references to classes
we don't have, methods we don't implement, etc..
That much being said, I don't have a recommendation for a tool
Hi all,
Well, as an individual who has the tendency to pure Java programming I
will be happier if I can control things on the source-code level. I
can't say I don't like the idea about sophisticated JIT with the
powerful AI inside, but if we are talking about logging then IMHO a
good
Hi!
I'am working on value-profiling implementation. Implementation in EM
is alredy avaible. Now I'am trying to implement and use it in JIT. I
can answer any questions about current implementation. I have used the
straigth algorithm (cacthing FIRST N values) as default and as
advanced algorithm
Sorry, this is my first contribution.
Mikhail Fursov wrote:
I support your choice. NSIS 2 is the best freely available installer I know
(and worked with).
Glad to hear it, though it was purely serendipitous -- I've never used
it before. Since you have some knowledge in this area please go in and
fix up my hacks ;-)
Regards,
Tim
Hi Yuri.
Value profile is a profile that is really needed for set of JIT
optimizations.
What do you want to improve in JIT exactly?
On 10/30/06, Yuri Kashnikoff [EMAIL PROTECTED] wrote:
Hi!
I'am working on value-profiling implementation. Implementation in EM
is alredy avaible. Now I'am trying
Ignatenko vs Gagnon proposal checklist follows. :)
In accordance with Section 2.17.8 of the JVM spec, class unloading (and
its related native resource cleanup) can only happen when the class
loader instance becomes unreachable. For this to happen, we put in
place the following things:
1-
On 10/30/06, Tim Ellison [EMAIL PROTECTED] wrote:
Mikhail Fursov wrote:
I support your choice. NSIS 2 is the best freely available installer I
know
(and worked with).
Glad to hear it, though it was purely serendipitous -- I've never used
it before. Since you have some knowledge in this area
Hello,
I want to gather opinions about structure of the jdktools component.
I'm going to create scripts for moving tools' sources from classlib/
to top-level directory jdktools/ and to prepare patches for build
system for building tools from new place.
I think the following structure will be
Looks great Ilya, go for it.
Regards,
Tim
Ilya Neverov wrote:
Hello,
I want to gather opinions about structure of the jdktools component.
I'm going to create scripts for moving tools' sources from classlib/
to top-level directory jdktools/ and to prepare patches for build
system for
Geir, All,
I have examined class library code. It seems that the solution we
invented (return EINTR, then loop) was always in place. :-)
Few comments on understanding:
1. EINTR (=4) is renamed to HYPORT_ERROR_SOCKET_INTERRUPTED (=-9).
2. The loop is coded by means of goto select.
3. The same
On 10/30/06, Pavel Pervov [EMAIL PROTECTED] wrote:
Ignatenko vs Gagnon proposal checklist follows. :)
In accordance with Section 2.17.8 of the JVM spec, class unloading (and
its related native resource cleanup) can only happen when the class
loader instance becomes unreachable. For this
All,
I received a private email from Steve Blackburn regarding mmtk.jar. There
is a new forum for discussing vmmagic at:
http://sourceforge.net/projects/vmmagic. It seems that vmmagic API won't be
changed impulsively as there are several projects dependent on the current
interface.
On
Weldon,
Glad to hear that we will have separate and lightweight vmmagic jar soon.
Thanks to you and Steve!
As for today: I use Robin's site in the patch with VM helpers support to
download mmtk.jar. Let's change mmtk location when Steve adds first file
release to vmmagic.sf.net site.
+ Could
cool!
Tim Ellison wrote:
I thought it would be fun to see what a Windows installer would look
like for Harmony.
So this morning, just for kicks, I was playing with NSIS
(http://nsis.sourceforge.net/) and produced a prototype installer very
easily (kudos to them). I'll put the source for it
Alexei Zakharov wrote:
Hi all,
Well, as an individual who has the tendency to pure Java programming I
will be happier if I can control things on the source-code level. I
can't say I don't like the idea about sophisticated JIT with the
powerful AI inside, but if we are talking about logging
can one of you JIT nerds describe for us non-JIT-nerds what value
profiling is? :)
geir
Yuri Kashnikoff wrote:
Hi!
I'am working on value-profiling implementation. Implementation in EM
is alredy avaible. Now I'am trying to implement and use it in JIT. I
can answer any questions about current
Are IBM's and Sun's are know to work well for production loads?
Xiao-Feng Li wrote:
Weldon, the problem is, there is no well-established parallel
compaction algorithms. So far the best known work are 1. SUN's work;
2. IBM's work and 3. Compressor. No one knows which one is the best
for
Geir wrote,
Not only that, we create a class library that places **weird**
requirements
on any VM that wants to use it.
Ok, I believe this was honest. :-) As far as I know the optimization
Mikhail is talking about is nearly standard for any optimizing JIT.
Isn't it just a simple inlining? I
Alexey wrote,
At the same time I don't feel
completely comfortable with the idea of using preprocessor to
separate
J2SE sources from J2ME.
A preprocessor looks a possible choice for maintaining several profiles
(eg Java ME vs Java SE). We need compact and preferably precompiled
sources to be
Gregory wrote,
I need is probably smoke tests category. I need to add building native
code
part and add a custom command line setting somewhere.
+1
I believe you need one or two test with a good coverage to check your
changes regularly. This is enough for acceptance testing.
This doesn't
Geir Magnusson Jr. wrote:
Tim Ellison wrote:
Where you do go through a source-to-source transform stage it helps of
you can collaborate with the second-stage compiler to pass through
original line number info (a la JSR45) otherwise debugging gets a bit
tiresome.
Right, except I could
Geir Magnusson Jr. wrote:
Alexei Zakharov wrote:
At the same time I don't feel completely comfortable with the idea
of using preprocessor to separate J2SE sources from J2ME.
I'm not overjoyed either, but I can't think of many ways that allow
fairly clear readability without don't require
Geir Magnusson Jr. wrote:
can one of you JIT nerds describe for us non-JIT-nerds what value
profiling is? :)
Maybe calling people nerds was a disincentive ;-)
Value profiling means watching the actual values of variables or
expressions in a running program, typically in order to direct
Gregory Shimansky wrote:
Hello
JVMTI implementation is quite a big piece of drlvm code which doesn't have any
tests that are ran regularly. This may create regressions in JVMTI
implementation which won't be caught early. So I want to add several small
tests for JVMTI which would cover most
Fedotov, Alexei A wrote:
Geir, All,
I have examined class library code. It seems that the solution we
invented (return EINTR, then loop) was always in place. :-)
Few comments on understanding:
1. EINTR (=4) is renamed to HYPORT_ERROR_SOCKET_INTERRUPTED (=-9).
Yes, I did that in one place to
On Tuesday 31 October 2006 00:24 Fedotov, Alexei A wrote:
Gregory wrote,
I need is probably smoke tests category. I need to add building native
code
part and add a custom command line setting somewhere.
+1
I believe you need one or two test with a good coverage to check your
changes
Ilya Neverov wrote:
Hello,
I want to gather opinions about structure of the jdktools component.
I'm going to create scripts for moving tools' sources from classlib/
to top-level directory jdktools/ and to prepare patches for build
system for building tools from new place.
Cool
I think
On 10/30/06, Mikhail Fursov [EMAIL PROTECTED] wrote:
Just my $0.02:
Actually VM_thread contains thread-local data. The VM_thread is a thread
local data by itself. HyThread keeps a pointer to it, so VM_thread is always
accessed from HyThread.
Some of the components, e.g. GCv4 and GCv5, keeps all
On Tuesday 31 October 2006 02:27 Geir Magnusson Jr. wrote:
So I should either create a new 4th category for tests with custom build
file, or extend one of the current categories which we have. The most
close to what I need is probably smoke tests category. I need to add
building native
Etienne,
This is a good design, thanks. Conceptually, reference counting in the VM
is somewhat similar to Aleksey's proposal 1, if I understand correctly. This
design also requires quite a few hand-offs between the VM and GC. In DRLVM,
the problem is that we have quite a few GC's, not all within
On 10/31/06, Pavel Pervov [EMAIL PROTECTED] wrote:
Ignatenko vs Gagnon proposal checklist follows. :)
In accordance with Section 2.17.8 of the JVM spec, class unloading (and
its related native resource cleanup) can only happen when the class
loader instance becomes unreachable. For this to
On 10/30/06, Weldon Washburn [EMAIL PROTECTED] wrote:
On 10/29/06, Xiao-Feng Li [EMAIL PROTECTED] wrote:
Weldon, the problem is, there is no well-established parallel
compaction algorithms. So far the best known work are 1. SUN's work;
2. IBM's work and 3. Compressor. No one knows which one
On 10/31/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:
Are IBM's and Sun's are know to work well for production loads?
Don't know. Probably yes. It's claimed that SUN's work is the first
parallel compaction design [1] and IBM's work is an improvement [2],
while Compressor is a further
Gregory Shimansky wrote:
On Tuesday 31 October 2006 00:24 Fedotov, Alexei A wrote:
Gregory wrote,
I need is probably smoke tests category. I need to add building native
code
part and add a custom command line setting somewhere.
+1
I believe you need one or two test with a good coverage
Gregory Shimansky wrote:
On Tuesday 31 October 2006 02:27 Geir Magnusson Jr. wrote:
So I should either create a new 4th category for tests with custom build
file, or extend one of the current categories which we have. The most
close to what I need is probably smoke tests category. I need to
is there any chance you could put a zip of the images into the jira,
rather than a dozen or so images? That's actually what turned me off
from one of the other doc issues - I said to myself oh, heck, I don't
want to download each of those separate thingies... I just want a zip or
tgz of
Tim Ellison wrote:
Geir Magnusson Jr. wrote:
Alexei Zakharov wrote:
At the same time I don't feel completely comfortable with the idea
of using preprocessor to separate J2SE sources from J2ME.
I'm not overjoyed either, but I can't think of many ways that allow
fairly clear readability
Tim Ellison wrote:
Geir Magnusson Jr. wrote:
can one of you JIT nerds describe for us non-JIT-nerds what value
profiling is? :)
Maybe calling people nerds was a disincentive ;-)
I hope not - it's a compliment. :)
Value profiling means watching the actual values of variables or
Hello, Etienne.
Am I wrong, or does this proposition imply collecting classes
independently from their class loader? If this is the case, I have to
say that I disagree with the proposed approach.
Yes, you are wrong. This proposition implies collection of classloader and
clasess loaded by it
2006/10/30, Mikhail Fursov [EMAIL PROTECTED]:
Hi Yuri.
Value profile is a profile that is really needed for set of JIT
optimizations.
What do you want to improve in JIT exactly?
First of all I want to imporove the devirtualization, using value
profiling feedback. And now I found that some other
Hello Yuri,
I'm currently condidering different ways of devirtualization improvement in
the JIT compiler. There are many of them and value profiling is one of the
most promising. I would be happy if we could work together on making value
profiling useful in Jitrino.OPT. Currently devirtualizer
Just to finalize the issue: BEA's runtime also provides compilation
info, and it encountered 1081 methods on HelloWorldApp. Startup is
really costly :(
PS. I'm catching up after a week offline, sorry for resurrecting such
an old thread :$
24 Oct 2006 13:31:16 +0700, Egor Pasko [EMAIL
I'm currently condidering different ways of devirtualization improvement in
the JIT compiler. There are many of them and value profiling is one of the
most promising. I would be happy if we could work together on making value
profiling useful in Jitrino.OPT. Currently devirtualizer in JIT can use
Hi Yuri,
Since you invited questions, here are a few from me...
What is the basic profiling mechanism...instrumentation or sampling?
What are the different types of profiles we are capturing ?
How are the profiles currently being persisted?
Is there any existing documentation on this?
Have
Nadya,
AFAIU the given page is purely classlib-oriented...though I might be
wrong here.
It provides info on how to set up Eclipse to develop Java code in
Harmony and IMHO doesn't include any tips applying to harmony code in
general.
I absolutely agree with you that we should have one page
Thanks, Yuri! I'll try your patch and get back to you here in the list.
-Pavel
On 10/31/06, Yuri Kashnikoff [EMAIL PROTECTED] wrote:
I'm currently condidering different ways of devirtualization improvement
in
the JIT compiler. There are many of them and value profiling is one of
the
most
Weldon Washburn wrote:
On 10/27/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:
Weldon Washburn wrote:
Steve Blackburn was in Portland Oregon today. I mentioned the idea of
adding a reference pointer from object to its j.l.Class instance.
MMTk
was
not designed with this idea in
Installer is great!
Thanks, Tim.
SY, Alexey
2006/10/30, Tim Ellison [EMAIL PROTECTED]:
I thought it would be fun to see what a Windows installer would look
like for Harmony.
So this morning, just for kicks, I was playing with NSIS
(http://nsis.sourceforge.net/) and produced a prototype
Yeah! No problem, I was just thinking a zip would not look as
transparent and safe. I'd turn the images from the other doc issue into
an archive as well.
Thank you,
Nadya Morozova
-Original Message-
From: Geir Magnusson Jr. [mailto:[EMAIL PROTECTED]
Sent: Tuesday, October 31, 2006
89 matches
Mail list logo