On 06/25/2017 02:34 PM, John Rose wrote:
My overall goal is to keep the classfile alive as an efficient
medium for more and more advanced language runtimes.
That will be difficult as long as constant pool indexes and various
other fields are limited to 16 bits.
--
--Per Bothner
p
On 02/18/2015 02:45 PM, Per Bothner wrote:
Kawa is optimized for static compilation and static optimization,
and does not use invokedynamic so far.
To clarify: Kawa does have a REPL and eval. It's just that the REPL
and eval first compile the expression to bytecode before running it
on. See gnu/xquery in
the Kawa source code for an implementation of a very different language
than Kawa's primary language Scheme.
--
--Per Bothner
p...@bothner.com http://per.bothner.com/
___
mlvm-dev mailing list
mlvm-
On 08/24/2014 11:25 AM, Charles Oliver Nutter wrote:
On Sun, Aug 24, 2014 at 12:02 PM, Per Bothner wrote:
(1) Kawa shows you can have dynamic languages on the JVM that both
run fast and have fast start-up.
Like Clojure, I'd only consider Kawa to be *somewhat* dynamic. Most
function
could be a big help. I just don't think Oracle or the community should
spend too much time on "fixing" invokedynamic.
(7) Of course I'm the wrong person to talk about resource prioritization,
have spent way too much time doing micro-optimizations or adding improvements
that
On 08/23/2014 12:25 PM, Per Bothner wrote:
On 08/22/2014 01:08 PM, Charles Oliver Nutter wrote:
What are the rest of you doing to deal with these issues?
Start-up does not appear to a problem for Kawa:
I should mention I'm not using invokedynamic, and have no
concrete plans to
e meteor), or is the problem with significantly larger
programs?
--
--Per Bothner
p...@bothner.com http://per.bothner.com/
___
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
On 05/11/2013 02:00 AM, Charles Oliver Nutter wrote:
> On Fri, May 10, 2013 at 7:16 PM, Per Bothner <mailto:p...@bothner.com>> wrote:
>
> Fail hard is probably the wrong thing to do - except when debugging.
> I think what you want is the default to not fail if it can&
On 05/10/2013 01:32 PM, Charles Oliver Nutter wrote:
> Interesting idea...comments below.
>
> On Fri, May 10, 2013 at 12:44 PM, Per Bothner <mailto:p...@bothner.com>> wrote:
>
> So this idea come to me: Could we just have add a method
> that tail-calls a Method
erhaps a better approach would be to use invokedynamic
in some special conventional way, like with a magic
CallSite. However, that makes calling from Java more
difficult.
Anything , just some thoughts. I'm certainly not qualified
to do the needed HotSpot hacking.
--
--
On 05/16/2012 05:52 PM, Charles Oliver Nutter wrote:
Thanks for a detailed and helpful response!
> On Wed, May 16, 2012 at 12:55 PM, Per Bothner wrote:
>> The attachment ProcUsingMH.java is a sketch of an alternative implementation
>> where each apply[01N] method has a matchi
e to support a '--target 6' flag, though
supporting both styles in the same runtime may reduce the advantages of
either.
Finally, it seems that if Kawa in the future makes use of invokedynamic,
having the MethodHandles in the Procedure would be an advantage.
Comments? Advice
n
you do: what really matters are cache misses.
--
--Per Bothner
p...@bothner.com http://per.bothner.com/
___
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
On 09/07/2011 03:02 PM, Rémi Forax wrote:
> On 09/07/2011 09:32 PM, Per Bothner wrote:
>> On 09/07/2011 02:15 AM, Rémi Forax wrote:
>>> What about having 10 to 12 benchs, one by language, provided by each
>>> language runtime developer
>>> as a good bench for th
On 09/07/2011 02:25 PM, Charles Oliver Nutter wrote:
> On Wed, Sep 7, 2011 at 2:00 AM, Per Bothner wrote:
>> Kawa's gnu.math.IntNum already does this. It has only two fields:
>
> Yeah, I think I remember you mentioning this in one of the
> arbitrary-precision math threads
re fast Kawa versions of all the current benchmarks:
http://per.bothner.com/blog/2010/Kawa-in-shootout/ )
--
--Per Bothner
p...@bothner.com http://per.bothner.com/
___
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
of words make the value
* of this IntNum, stored in little-endian order, 2's-complement form. */
public int ival;
public int[] words;
I assume this is one reason why Kawa's IntNum is (mostly) faster than
BigInteger.
--
--Per Bothner
p...@bothner.com http://per.bothner
On 12/28/2010 01:58 PM, Charles Oliver Nutter wrote:
> On Tue, Dec 28, 2010 at 12:21 PM, Per Bothner wrote:
>> Is there a plan/consensus for how to handle "illegal" characters
>> in identifiers? I'm primarily interested in the bytecode level,
>> not
tandardize on an annotation type.
It would also be nice to generalize to support XML (and CommonLisp)
two-part names.
Perhaps:
public @interface SourceName {
String value();
String prefix() default "";
String namespaceURI() d
On 10/18/2010 04:37 AM, Ismael Juma wrote:
> On Mon, Oct 18, 2010 at 7:23 AM, Per Bothner wrote:
>> FYI - I've posted in my blog benchmark results comparing
>> runtime numbers for Java, Scala, Clojure, JRuby, and Kawa versions
>
> "Scala was version 2.9.0.final.&quo
FYI - I've posted in my blog benchmark results comparing
runtime numbers for Java, Scala, Clojure, JRuby, and Kawa versions
of 11 of the "The Computer Language Benchmarks Game" programs:
http://per.bothner.com/blog/2010/Kawa-in-shootout/
--
--Per Bothner
p...@bot
hile to
concentrate on calling known procedures with unknown argument
types, like + when the operands don't have type specifiers.
--
--Per Bothner
p...@bothner.com http://per.bothner.com/
___
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
h
On 10/10/2010 02:20 PM, Rémi Forax wrote:
> Le 10/10/2010 20:08, Per Bothner a écrit :
>> So we've determined that to make use of 292 Kawa should keep its
>> abstract gnu.mapping.Procedure class, but add a new method:
>> MethodHandle asMethodHandle()
>>
>
not my friend this morning.
Any cook-books out there for how to do this?
After that I need to figure out how to do argument conversions. The Kawa
compiler emits in each generic "apply" method necessary type conversions
before it calls the actual specific method, and the CallSite han
on (like map), what is the type
of the object passed: A MethodHandle? A Procedure? Something else?
There seem to be different kind of MethodHandles, so perhaps something
is appropriate. Is there some blog article or cookbook discussing this?
--
basic idea:
* Infix operators: 'x + y' is sugar for 'x.add(y)'.
* Non-escaping stack-allocated arrays, especially
useful for varargs.
* "inlining" structs in other classes. I.e. something
like @NonEscape for fields. Such a field could only
be passed to method as a @NonEsc
Charles Oliver Nutter wrote:
> Per Bothner wrote:
>> Charles Oliver Nutter wrote:
>>> On a side note: any recommendations for optimizing fixnums on current
>>> JVMs?
>> "Optimizing fixnums" is of course a number of different problems.
>> One is
- that might be useful to get some numbers on.
--
--Per Bothner
[EMAIL PROTECTED] http://per.bothner.com/
___
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
28 matches
Mail list logo