Rémi your comment
The idea is just to propagate the type you need if you can.
So
for a = 2 = 3, '=' will return a RtObject but
for if (2 = 3), '=' will return a boolean because it's called in
an if.
Ah yes,
this is something that ST compilers do and I think is a good idea.
Basically
On 02/02/2012 04:45 AM, Mark Roos wrote:
From Rémi
Without the descriptors of invokedynamic and the code of the
BSM, it's
hard to tell.
Yes but they have no invoke dynamics and I was just wondering if my
indy part was causing the
issue. Your answer told me that I should
On 02/02/2012 04:45 AM, Mark Roos wrote:
from Rémi
if you know it will never escape,you should use an int directly.
Well I am trying to build a Smalltalk system which has no static types so
I have to box the ints. Since the code I showed was programmer entered I
need to stay with
On Thu, Feb 2, 2012 at 4:47 AM, Rémi Forax fo...@univ-mlv.fr wrote:
It can be an escape analysis change.
As far as I know, escape analysis don't work through indy call but
if Charles see same performance as Java, escape analysis has to work ??
My comment was about using an iterator/cursor for
Some nice comments from Rémi
So if one call is not inlined in
the middle of the body of the loop, then the VM will
not remove your MutableInteger.
This could be what is causing the difference in time. I have seen some
mails that indicate indy
GWT depth ( methodHandle
On 02/01/2012 01:52 AM, Mark Roos wrote:
I just loaded about 250K lines of Smalltalk code into my jvm
implementation so now I can start
some real benchmarks using our application. All of this was done on a
Mac.
My first try was a object load which takes about 20 files and creates
a
On Feb 1, 2012, at 9:34 AM, Rémi Forax wrote:
On 02/01/2012 01:52 AM, Mark Roos wrote:
I just loaded about 250K lines of Smalltalk code into my jvm
implementation so now I can start
some real benchmarks using our application. All of this was done on a
Mac.
My first try was a object
On Tue, Jan 31, 2012 at 6:52 PM, Mark Roos mr...@roos.com wrote:
For the initial JDK7 I get 400ms, moving to jdk8 b20 it drops to 117ms (
very nice).
I then converted some constructor lookups to statics to get to 66ms.
Then the obvious move to make an integer cache for which I used the jTalk
Thanks
Adding
-XX:-TieredCompilation
made the run time consistent at 21ms. Still not as fast as b20 ( 5ms )
but faster than 7u4
which is 29ms.
mark
___
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
...@headius.com
To: Da Vinci Machine Project mlvm-dev@openjdk.java.net
Date: 02/01/2012 12:43 PM
Subject:Re: Benchmarking Smalltalk on JVM
Sent by:mlvm-dev-boun...@openjdk.java.net
On Tue, Jan 31, 2012 at 6:52 PM, Mark Roos mr...@roos.com wrote:
For the initial JDK7 I get 400ms
This may be a little much to ask but... These bytecodes take about 20ns
per cycle to run on
my 2.8 GHz mac using jdk8-B23 without TieredCompile. Does this seem
reasonable given the number of indy calls?
The GWT depth on the method sends is 1
thanks
mark
LABEL 56 LABEL 1
On 02/01/2012 10:44 PM, Mark Roos wrote:
Hi Charles
Its pretty simple. All of my integers are boxed and are by definition
immutable. However I noticed
that many uses of integer were for loop counters and indexes where the
integer never escapes from
the method. So I added two
On 02/01/2012 10:44 PM, Mark Roos wrote:
This may be a little much to ask but... These bytecodes take about
20ns per cycle to run on
my 2.8 GHz mac using jdk8-B23 without TieredCompile. Does this seem
reasonable given the number of indy calls?
The GWT depth on the method sends is 1
the unwary in case
it escapes but for now its
a power tool.
regards
mark
From: Charles Oliver Nutter head...@headius.com
To: Da Vinci Machine Project mlvm-dev@openjdk.java.net
Date: 02/01/2012 12:43 PM
Subject: Re: Benchmarking Smalltalk on JVM
Sent
From Rémi
Without the descriptors of invokedynamic and the code of the BSM,
it's
hard to tell.
Yes but they have no invoke dynamics and I was just wondering if my indy
part was causing the
issue. Your answer told me that I should be OK so that was helpful. This
same code was
From Rémi
Anyway, you can optimize the last instructions, = should return a
boolean
so the sequence should be:
ldc 4100
aload 1
indy = (ILObject;)Z
if_eq LABEL 1
I am not sure how to handle this in a Smalltalk envrionment. All of the
objects
I just loaded about 250K lines of Smalltalk code into my jvm
implementation so now I can start
some real benchmarks using our application. All of this was done on a
Mac.
My first try was a object load which takes about 20 files and creates a
pretty complex object set. This
takes 100 seconds
17 matches
Mail list logo