,
served through vtable marks).
Robin Garner wrote:
My proposal doesn't require steps (2) although VM-ClassLaoder
references are weak, and (5), because the trace from the vtable roots is
no different fromthe standard GC trace.
Okay, It looks like you found a way to avoid repetitive retracing from
proposals at
http://wiki.apache.org/harmony/ClassUnloading
I am starting new discussion because mailing list is a better means for
discussion
than Wiki. After we come to conclusion, I will log it to the wiki page.
*)
--
Robin Garner
Dept. of Computer Science
Australian National University
http
- if you agree with my refinements,
feel free to merge them.
--
Robin Garner
Dept. of Computer Science
Australian National University
http://cs.anu.edu.au/people/Robin.Garner/
Evgueni Brevnov wrote:
On 11/9/06, Alexey Petrenko [EMAIL PROTECTED] wrote:
The logs for some benchmarks does not have error messages.
Is this possible to fix?
SY, Alexey
2006/11/9, Robin Garner [EMAIL PROTECTED]:
I've just finished adding drlvm to the nightly DaCapo benchmark
regression
Evgueni Brevnov wrote:
On 11/9/06, Alexey Petrenko [EMAIL PROTECTED] wrote:
The logs for some benchmarks does not have error messages.
Is this possible to fix?
SY, Alexey
2006/11/9, Robin Garner [EMAIL PROTECTED]:
I've just finished adding drlvm to the nightly DaCapo benchmark
regression
, but I'm working on graphs of
performance over time, for the non-commercial VMs at least.
This is a temporary home, so don't link to it too permanently :)
cheers
Robin Garner wrote:
Weldon Washburn wrote:
Fantastic!
By the way, the http:// link below did not work for me.
Doh!
http
detail of something that is
important, namely the class unloading?
geir
While it did come up as an issue in the class-unloading talks I think
most of us believe it to be orthogonal.
cheers
--
Robin Garner
Dept. of Computer Science
Australian National University
the vtable
of objects that survive collection and pretenured objects.
And this is a persuasive argument. But I can probably find time to
measure it tomorrow if you aren't convinced.
--
Robin Garner
Dept. of Computer Science
Australian National University
. It's a known problem. You need to specify
-XcleanupOnExit as well :-) I'm working in it currently will
provide a fix soon...
Thanks
Evgueni
On 11/9/06, Robin Garner [EMAIL PROTECTED] wrote:
Evgueni Brevnov wrote:
On 11/9/06, Alexey Petrenko [EMAIL PROTECTED] wrote:
The logs for some
Alexey Varlamov wrote:
2006/11/9, Robin Garner [EMAIL PROTECTED]:
Etienne Gagnon wrote:
Alexey Varlamov wrote:
Sorry if it was already discussed, but I believe this approach also
requires marking vtable bit/byte on each object allocation, unitl the
unloading GC pass is strictly stop
to a mature-space object under suitably
bizarre circumstances. I guess you could have a write barrier on the
class metadata space ...
... an XOR barrier could actually be an interesting solution ... but I'm
sure it won't be necessary.
--
Robin Garner
Dept. of Computer Science
Australian
that maybe the mailing list isn't the most ideal
place to keep draft design documents ? Isn't there a wiki or some other
web page where it could be kept and referred to ?
--
Robin Garner
Dept. of Computer Science
Australian National University
http://cs.anu.edu.au/people/Robin.Garner/
the DaCapo benchmarks rely on SHA-1 for
validation. I raised JIRA Harmony-2135 on this issue. Looks like after
eclipse has run, drlvm forgets how to access the SHA-1 algorithm :(
--
Robin Garner
Dept. of Computer Science
Australian National University
http://cs.anu.edu.au/people/Robin.Garner/
Geir Magnusson Jr. wrote:
Robin Garner wrote:
Geir Magnusson Jr. wrote:
Nice - we should put this on the website (maybe same place where we
point to JAPI results).
Are you tracking performance #'s over time? You are just tracking
regression in terms of how much runs, rather than how fast
merged proposal that comes with various minor variations for
different collection needs: simple stop the world (stw), generational
stw, concurrent, etc. You could call it the epoch-based vtable
marking approach.
So, that bring us back to 3.
Robin: Do you agree? :-)
Etienne
I agree.
--
Robin
access to anything with more parallelism than a Pentium D, so it's not
likely to be conclusive.
--
Robin Garner
Dept. of Computer Science
Australian National University
http://cs.anu.edu.au/people/Robin.Garner/
PROTECTED] wrote:
On 11/2/06, Xiao-Feng Li [EMAIL PROTECTED] wrote:
Robin, thanks for all the clarifications. Now it seems clear to me
and
I am convinced by this proposal. :-)
Yes, this proposal is the simplest and has the least perf impact. Thanks
Robin.
--
Robin Garner
Dept
of Etienne's proposal as a full class-unloading scheme.
With the best regards,
--
Robin Garner
Dept. of Computer Science
Australian National University
don't purport
to have a solution to (1) and (2).
Regards,
Robin
Aleksey.
On 11/8/06, Robin Garner [EMAIL PROTECTED] wrote:
Pavel Pervov wrote:
Robin,
The kind of model I had in mind was along the lines of:
- VM maintains a linked list (or other collection type) of the
currently
loaded
Robin Garner wrote:
Aleksey Ignatenko wrote:
Robin.
OK, well how about keeping a weak reference to the j.l.ClassLoader
object instead of a strong one. When the reference becomes (strong)ly
unreachable, invoke the class-unloading phase.
If you have weak reference to j.l.Classloader - GC
of its classes during
the epoch.
--
Robin Garner
Dept. of Computer Science
Australian National University
about tracing extra reference
per object. The approach you propose is more efficient and quite
elegant.
--
Ivan
Thanks :)
On 11/8/06, Robin Garner [EMAIL PROTECTED] wrote:
Robin Garner wrote:
Aleksey Ignatenko wrote:
Robin.
OK, well how about keeping a weak reference
time).
I'm currently working on adding performance stats for DRLVM and
JikesRVM, so some suggestions about the best command line parameters to
use would be appreciated.
cheers
--
Robin Garner
Dept. of Computer Science
Australian National University
Weldon Washburn wrote:
Fantastic!
By the way, the http:// link below did not work for me.
Doh!
http://cs.anu.edu.au/people/Robin.Garner/dacapo/regression/
On 11/8/06, Robin Garner [EMAIL PROTECTED] wrote:
I've just finished adding drlvm to the nightly DaCapo benchmark
regression
:
http://cs/people/Robin.Garner/dacapo/regression/
It looks like my notebook does not know where to find host named cs :(
See other e-mail :-/
--
Robin Garner
Dept. of Computer Science
Australian National University
a display.
Not what I'd call a problem, but someone might like to add it to their list.
cheers
--
Robin Garner
Dept. of Computer Science
Australian National University
a business workload that Harmony needs to run within the
next
12 months.
The cost of moving vtables would be huge. It would have to be a very
hefty optimization :)
--
Robin Garner
Dept. of Computer Science
Australian National University
: http://www.sablecc.org/
--
Robin Garner
Dept. of Computer Science
Australian National University
I've been having some problems getting some test cases to exhibit
misbehavior for DRLVM, and it turns out that jitrino is built in release
mode no matter what BUILD_CFG is set to.
Putting this inconsistency aside for a moment, how do I get jitrino to
build in debug?
I tried changing the
We have a really difficult job to do in the next 7.5 months - to get to
a compatible 1.0* - so I'd like to encourage people to remain as focused
as we can to get to that point. That doesn't mean this isn't fun, but
the way I see it, we have a few focused months of efforts before we
begin TCK
- I would do it in the VM, using a hook from
the GC's tracing.
On 10/31/06, Robin Garner [EMAIL PROTECTED] wrote:
Actually, just thinking about how I would implement this in JikesRVM, I
would use the reachability based algorithm, but piggyback on the
existing GC mechanisms:
- Allocate a byte
.
The point is an unconditional store to a structure you are already
accessing is very cheap, whereas register spills, loads and synchronized
updates are expensive.
cheers
On 10/31/06, Robin Garner [EMAIL PROTECTED] wrote:
Actually, just thinking about how I would implement
Weldon Washburn wrote:
Its probably in the noise but it might be possible to
even reduce the overhead of clearing the vtable mark by using a epoch
number instead of a boolean. The idea is that after every major GC,
increment the value used for the mark. When sweeping the
Xiao-Feng Li wrote:
On 11/1/06, Mikhail Fursov [EMAIL PROTECTED] wrote:
On 01 Nov 2006 16:05:41 +0600, Egor Pasko [EMAIL PROTECTED] wrote:
On the 0x214 day of Apache Harmony Mikhail Fursov wrote:
On 01 Nov 2006 15:56:28 +0600, Egor Pasko [EMAIL PROTECTED]
wrote:
agreed. not patching
Ivan Volosyuk wrote:
Robin, thank you for this information. I want to ask a few questions
to check that I understand you correctly.
On 10/31/06, Robin Garner [EMAIL PROTECTED] wrote:
MMTk implements several algorithms for retaining the reachable objects
in a graph and recycling space used
Weldon Washburn wrote:
On 10/30/06, Robin Garner [EMAIL PROTECTED] wrote:
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
Actually, just thinking about how I would implement this in JikesRVM, I
would use the reachability based algorithm, but piggyback on the
existing GC mechanisms:
- Allocate a byte (or word) in each vtable for the purpose of tracking
class reachability.
- Periodically, at a time when no GC is
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
I thought moxie already had an implementation of fast native calls ?
Perhaps you could look at that ?
cheers,
Robin
Mikhail Fursov wrote:
On 10/23/06, Pavel Afremov [EMAIL PROTECTED] wrote:
Mikhail could you summarize all issues which should be clarified and
possible solutions for these
Weldon Washburn wrote:
On 10/25/06, Robin Garner [EMAIL PROTECTED] wrote:
follows. Comments, suggestions are welcome. It would be much
appreciated if Steve Blackburn and Robin Garner would reply to the
questions
below directed to the MMTk guys.
Interleaved below
that for everything else, where we can.
I agree with Geir. Its best to try to stay out of the business of
warehousing 3rd party stuff. Let's download MMTk.jar from a web page
during build fetch-depends. We can change this if it causes
problems. Robin Garner, can you help us with this? What
follows. Comments, suggestions are welcome. It would be much
appreciated if Steve Blackburn and Robin Garner would reply to the
questions
below directed to the MMTk guys.
Interleaved below.
- The next step is to integrate MMTk in the early DRLVM boot
process
, shouldn't raise exceptions, cause gc etc. Our java layer
in
the infrastructure is somewhat localized.
Thanks,
Rana
On 10/15/06, Robin Garner [EMAIL PROTECTED] wrote:
Weldon Washburn wrote:
Robin,
I really like your thinking! I would like to see Harmony drlvm
support
MMTk
fully
Weldon Washburn wrote:
Robin,
I did a diff of the mmtk/vm directory. It looks like nothing really
changed
in the vm interface code which is good. Am I understanding this right??
That sounds about right. And (famous last words) I think the interface
will probably remain stable for a
Mikhail Fursov wrote:
On 10/13/06, Rana Dasgupta [EMAIL PROTECTED] wrote:
Why is this a problem, am I misunderstanding? Even with conventional
helpers, the jit needs to know the helper method signatures. We don't
need
to worry about universality of GC's. Any compatible GC will need to
Urgh. In that case the array base offset should be specified in the
constructor of an MMType - JikesRVM doesn't have this problem, because the
object pointer always points to element 0 of an array irrespective of
header sizes and alignment issues (and hence the align and offset
parameters to
I think you must be looking at a fairly old version of MMTk.
writeBarrier is an instance method of a MutatorContext (in org.mmtk.plan).
MutatorContext exists to hold unsynchronized thread-local data
structures. Particularly relevant to the write barrier, each mutator
context has its own
Original Message
Subject: Re: [DRLVM][JET] write barrier for Java (mmtk)
Date: Thu, 12 Oct 2006 11:18:20 +1000
From: Robin Garner [EMAIL PROTECTED]
To: harmony-dev@incubator.apache.org
References:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED
Original Message
Subject: Re: [DRLVM][JET] write barrier for Java (mmtk)
Date: Thu, 12 Oct 2006 11:36:33 +1000
From: Robin Garner [EMAIL PROTECTED]
To: harmony-dev@incubator.apache.org
References:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED
Egor Pasko wrote:
On the 0x1EC day of Apache Harmony Robin Garner wrote:
Thanks to everyone who assisted before ... the build is progressing,
but now fails with
[cc] /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_tree.h:36 7:
error: no matching function
Vladimir Gorr wrote:
On 9/22/06, Alexey Petrenko [EMAIL PROTECTED] wrote:
Since Harmony is an open source project probably we should change the
link from commercial WinZip to open source 7-Zip[1] :)
It has *GNU LGPL. *IIRC we can't use this, can it?
Thanks,
Vladimir.
Isn't info-zip the
Robin Garner wrote:
Vladimir Gorr wrote:
On 9/22/06, Alexey Petrenko [EMAIL PROTECTED] wrote:
Since Harmony is an open source project probably we should change the
link from commercial WinZip to open source 7-Zip[1] :)
It has *GNU LGPL. *IIRC we can't use this, can it?
Thanks,
Vladimir
On 9/21/06, Mikhail Fursov [EMAIL PROTECTED] wrote:
Weldon, Robin
thank you for the comments.
There are just a few steps left to do before Jitrino.OPT will have
usable
unboxed package implementation.
Right now I'm working on atomic operations (prepare/attempt pair), and I
do
not
Geir Magnusson Jr. wrote:
On Sep 21, 2006, at 1:09 AM, Robin Garner wrote:
Trying to build the latest trunk (r448461) on Ubuntu (6.06).
That's my main build platform. No need to hack anything.
Had to hack build.sh because the ant executable isn't in ANT_HOME,
That's weird. You
Thanks to everyone who assisted before ... the build is progressing, but
now fails with
[cc] /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_tree.h:36 7:
error: no matching function for call to ‘Jitrino::StlMMAllocatorJitrino::Opnd*::construct
Geir Magnusson Jr. wrote:
On Sep 21, 2006, at 9:18 PM, Robin Garner wrote:
Geir Magnusson Jr. wrote:
On Sep 21, 2006, at 1:09 AM, Robin Garner wrote:
Trying to build the latest trunk (r448461) on Ubuntu (6.06).
That's my main build platform. No need to hack anything.
Had to hack
Weldon Washburn wrote:
On 9/20/06, Mikhail Fursov [EMAIL PROTECTED] wrote:
I put the update into JIRA. This update still has a lot of bugs, but is
significantly more stable then the initial one.
My plan is to work on lock prefix support in Jitrino.OPT CG tomorrow, so
if
somebody is interested
Trying to build the latest trunk (r448461) on Ubuntu (6.06). Had to
hack build.sh because the ant executable isn't in ANT_HOME, and add a
URL to download xalan, but now the build fails with a missing bfd.h
(full error message below).
Any pointers ?
cheers,
Robin
--
Egor Pasko wrote:
On the 0x1E4 day of Apache Harmony Alexey Varlamov wrote:
Just a wild idea: a smart JIT could hint a GC during allocation if an
object is expected to be short-lived so the GC could allocate it in a
special space,
if a JIT can prove that the object is local, it can allocate
What about the VMs here, drlvm or J9?
In a DRLVM JIT (Jitrino.OPT) there is an escape analysis prototype. It
detects objects that can be allocated on stack (and, hence, on
registers). Currently, it is switched off by default, and, when
enabled, it just marks the objects that are not escaped.
Egor Pasko wrote:
On the 0x1E4 day of Apache Harmony Oliver Deakin wrote:
Forcing gc by hand does work, but it is difficult for code to know
when to
call gc.So I think it is better if VM can give some support since it
knows
the global situation.:)
..and of course a manual gc() call does not
Weldon Washburn wrote:
Its not a simple wrapper that is missing. MMTk is written in Java. This
Java code needs to be intergrated into the bootstrap process of DRLVM.
For
example, initial bootstrap java code needs to run on a bootstrap java heap
until all of MMTk itself has been compiled
Weldon Washburn wrote:
On 9/8/06, Mikhail Fursov [EMAIL PROTECTED] wrote:
Weldon,
I added 'alloc' support to JIRA 816 (magic2.zip file)
Now it supports objects allocation only, not arrays. MMTk allocation
works
only for class named 'test' and methods with prefix 'testAlloc'. To
turn
it on
I don't understand. How can weak references help short-lived objects
reclaim?
Really what I'm saying is that this is the closest thing we have to a
hint to GC that objects can be collected soon - but it is not anything
like a proper free() call. There is no immediate reclaim of memory,
just
Designing a garbage collector with low pause times and high throughput (ie
low overhead) is to an extent the 'holy grail' of memory management
research.
The worst case pause times are in full heap collectors, where the pause
time is proportional to the total number of live objects in the heap.
Weldon Washburn wrote:
On 7/18/06, Volynets, Vera [EMAIL PROTECTED] wrote:
Hi,
I didn't find any bugs in gc_v4 at the moment,
Vera, its good to know the verifier found zero bugs in GCV4!
but this feature is really very useful especially if
you modify gc_v4 or design a new gc. Of course, it
Weldon Washburn wrote:
Robin,
Good points. Given that Object.hashCode() implementation sortof,
kindof depends on a copying mature space, does it make sense for the
GC to own the Object.hashCode() implementation? That way, we
eliminate the vm-wide debate about giving object hash one or two or
From talking to
the MMTk guys (Steve Blackburn) it seems MMTk wants to have one byte
of object header for private use. Its unclear to me if this will be a
performance problem for a product JVM.
Yep. We found a nice mark-sweep
Egor Pasko wrote:
On the 0x1C9 day of Apache Harmony Mikhail Fursov wrote:
Would id be possible to add the Java TLS API into VMThreadManager like:
long tlsAlloc(); // returns a key for new local storage entry
tlsSet(long key, long dataAddr); // stores a pointer to memory addr
for the
Egor Pasko wrote:
On the 0x1C8 day of Apache Harmony Mikhail Fursov wrote:
Egor,
Why do you think we need to support platform specific issues in helpers? Is
there any example that shows that we can't write a helper without reference
platform details?
It depends on how much of a
On 8/18/06, Robin Garner [EMAIL PROTECTED] wrote:
Object org.vmmagic.utility.accessVmStructure(identifier)
This is a good idea to keep in mind. We can introduce it when needed.
At the moment for service fast-path inlining, I guess specific JIT
intrisics are enough.
It strikes me
Weldon Washburn wrote:
All,
There is rough consensus that the immediate goal for Harmony JVM is to
reliably run simple commercial workloads with acceptable performance.
In regards to a garbage collector for a Harmony JVM in 2006 there are
some data points worth noting. 1) A quick survey shows
There was a paper last year at OOPSLA about similar things, Adam Welc
was one of the authors. Sounds like this may be the same work that
Stefano is talking about.
cheers
zouqiong wrote:
Hi, Stefano
I think your idea about to keep a profile for the next run of the
same software is a
Weldon Washburn wrote:
On 7/11/06, Robin Garner [EMAIL PROTECTED] wrote:
Salikh Zakirov wrote:
Ivan Volosyuk wrote:
My idea here, is if the function is required by VM, it can be
emulated
on VM side via alloc + pin. Of cause, it is not the same as
gc_pinned_alloc. The behaviour of GC
Weldon Washburn wrote:
Alex,
Sorry for taking so long to answer your questions below. Please see
the response inline.
Weldon
On 6/27/06, Alex Astapchuk [EMAIL PROTECTED] wrote:
AFAIR from the recent thread, to implement WB for MMTk support, I have
to emit calls of
Weldon Washburn wrote:
On 7/10/06, Ivan Volosyuk [EMAIL PROTECTED] wrote:
On 7/10/06, Weldon Washburn [EMAIL PROTECTED] wrote:
On 7/10/06, Ivan Volosyuk [EMAIL PROTECTED] wrote:
One question, why do we need write barriers for 'putstatic'
bytecode?
This fields appear in root set and does
Weldon Washburn wrote:
On 7/10/06, Alex Astapchuk [EMAIL PROTECTED] wrote:
Weldon,
I just commited http://issues.apache.org/jira/browse/HARMONY-816
into JIRA.
Thanks. I will look at it today.
It contains the changes for Jitrino.JET:
- magics support for MMTk
- write barriers for Java
Salikh Zakirov wrote:
Ivan Volosyuk wrote:
My idea here, is if the function is required by VM, it can be emulated
on VM side via alloc + pin. Of cause, it is not the same as
gc_pinned_alloc. The behaviour of GC will be suboptimal in that case.
In fact, gc_alloc_pinned() is not
Xiao-Feng Li wrote:
On 7/11/06, Ivan Volosyuk [EMAIL PROTECTED] wrote:
GCExport void gc_write_barrier(Managed_Object_Handle
p_base_of_obj_with_slot);
This is a difficult API. For starts, it only applies to write
barriers written in C/asm. Its not usable by MMTk. C Write
Weldon Washburn wrote:
All,
I am hoping someone who has worked on compilers can actually do the
JIT modifications. I don't have much experience in compilers.
I am trying to get MMTk write barriers integrated into Harmony DRLVM.
I came up with the following scheme. I don't know if it is
Robin Garner wrote:
Weldon Washburn wrote:
All,
I am hoping someone who has worked on compilers can actually do the
JIT modifications. I don't have much experience in compilers.
I am trying to get MMTk write barriers integrated into Harmony DRLVM.
I came up with the following scheme. I
Rodrigo Kumpera wrote:
On 6/2/06, Weldon Washburn [EMAIL PROTECTED] wrote:
All,
Perhaps the following is already covered in documentation. If this is
the case, please tell me where to find it. Below are some initial
questions regarding porting MMTK to DRLVM.
A question about
Weldon Washburn wrote:
oops, I forgot to cc:
-- Forwarded message --
From: Weldon Washburn [EMAIL PROTECTED]
Date: May 24, 2006 11:23 AM
Subject: Re: [DRLVM] proposal to port MMTK to drlvm
To: [EMAIL PROTECTED]
On 5/24/06, Daniel Feinberg [EMAIL PROTECTED] wrote:
that is
Weldon Washburn wrote:
Good point. Which MMTK code base should we work with? Where is it
located?
I know one version of MMTK is bundled with the Jikes source code. I
do not know if it is the best version to start this project. There
is a Jikes download link on the page:
Has anyone else considered the possibility of splitting the harmony-dev
list ? As a memory manager/VM hacker, I'm interested to keep up with
the high level happenings in the harmony world, but not necessarily with
the low-level details of bugs in the class library (and so forth).
What do
Tim Ellison wrote:
Sanket Sharma wrote:
Performance analysis sounds interesting...
Any links/pointers to get started?
I suggest that you look around for some simple well-written performance
benchmarks for Java and see if you can get them running on Harmony.
Not sure whether they
Mikhail Loenko wrote:
Hello
May be it is obvious and everybody knows it from babyhood, but anyway...
Everybody knows that this two examples of code do the same:
class test {
public Object field = null;
}
and
class test {
public Object field;
}
But if you disassemble these two
Matt Benson wrote:
--- Ashish Ranjan [EMAIL PROTECTED] wrote:
that is the most convincing argument till now. :-)
+1 from an Ant PMC member. That logic is irrefutable.
:)
-Matt
What about cross-compilation/cross-building ? If harmony is to be
successful in its goal of wide
Geir Magnusson Jr. wrote:
On Nov 1, 2005, at 9:05 PM, Robin Garner wrote:
Actually my colleagues at ANU and I were remarking last week that
all the recent discussion on the Harmony list (configure scripts,
packed structs etc etc) were close to being proof that Java was the
easier way
On 11/1/05, Robin Garner [EMAIL PROTECTED] wrote:
Rodrigo Kumpera wrote:
AFAIK IKVM, sablevm and jamvm all run on portable devices.
Developing a j2me jvm is not as easier as it seens, first, the
footprint and execution performance must be really optimized, so
expect a LOT of assembly
On 11/1/05, Robin Garner [EMAIL PROTECTED] wrote:
Rodrigo Kumpera wrote:
AFAIK IKVM, sablevm and jamvm all run on portable devices.
Developing a j2me jvm is not as easier as it seens, first, the
footprint and execution performance must be really optimized, so
expect a LOT of assembly
Rodrigo Kumpera wrote:
On 11/1/05, Robin Garner [EMAIL PROTECTED] wrote:
On 11/1/05, Robin Garner [EMAIL PROTECTED] wrote:
Rodrigo Kumpera wrote:
AFAIK IKVM, sablevm and jamvm all run on portable devices.
Developing a j2me jvm is not as easier as it seens, first
Archie Cobbs wrote:
Robin Garner wrote:
Actually my colleagues at ANU and I were remarking last week that all
the recent discussion on the Harmony list (configure scripts, packed
structs etc etc) were close to being proof that Java was the easier
way to go.
Here's some idle speculating
Done. This is issue #11.
cheers
Geir Magnusson Jr. wrote:
Robin - can you post this to a JIRA please?
geir
On Oct 29, 2005, at 1:57 AM, Robin Garner wrote:
In the garbage collectors I've worked with, the essential design is:
- 'new' allocates space on the heap.
- The header of each
Rodrigo Kumpera wrote:
AFAIK IKVM, sablevm and jamvm all run on portable devices.
Developing a j2me jvm is not as easier as it seens, first, the
footprint and execution performance must be really optimized, so
expect a LOT of assembly coding.
Back to the language wars again :) This does
Isn't all that already adressed by the VM/GC and GC/VM interfaces posted
by Weldon Washburn [1], [2] some time ago? (I'm not sure if this is
helpful, I didn't really read the BootJVM code, so please don't hit me
if I'm wrong). If not It might be helpful starting a WIKI - page which
describes
Robin Garner wrote:
GC is triggered in two cases: 1) the user code calls System.gc(). 2)
the
heap fills up (for some suitable definition of 'fills up'). There is
never any need for the VM code to call the garbage collector.
Off tanget, but IMHO this is not strictly true: it depends
Robin,
Over the last few days as we have all been discussing
heap and GC, I have been growing mroe curious by the
hour about what you see as a design critique of the GC
hooks I defined. Perhaps I am taking it a bit too simplistically,
but all I did was define a GC hook anywhere an object
Robin, Rodrigo,
Perhaps the two of you could get your heads together
on GC issues? I think both of you have been thinking
along related lines on the structure of GC for this JVM.
What do you think?
I think the current challenge is to get the GC people and the VM people
thinking along the
I'm having problems building the boot JVM. running jvm/build.sh I get
src/timeslice.c:82:71: thread.h: No such file or directory
src/timeslice.c: In function `timeslice_tick':
src/timeslice.c:221: error: invalid use of undefined type `struct itimerval'
src/timeslice.c: In function
1 - 100 of 113 matches
Mail list logo