<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0">
  <channel>
  <title>JVM Languages Google Group</title>
  <link>http://groups.google.com/group/jvm-languages</link>
  <description>An interest group surrounding language implementation for the JVM, including static, dynamic, functional, and anything else. Discussions on implementation strategy, pain points, and the future of the platform.</description>
  <language>en</language>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/338a2192c0e114ec?show_docid=338a2192c0e114ec</link>
  <description>
  I was more thinking about providing a mapping file in a given class that &lt;br&gt; says &amp;quot;this method here actually means foo, not foo$BLAH/__wahoooyippee. &lt;br&gt; Not necessarily a standard mangling convention, but a way to specify how &lt;br&gt; you&#39;ve mangled. &lt;br&gt; - Charlie
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/338a2192c0e114ec?show_docid=338a2192c0e114ec</guid>
  <author>
  charles.nut...@sun.com
  (Charles Oliver Nutter)
  </author>
  <pubDate>Fri, 05 Sep 2008 10:16:27 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/f30010b7e281cc76?show_docid=f30010b7e281cc76</link>
  <description>
  Well, in my original example, I would&#39;ve expected the runtime to &lt;br&gt; create a class out of two object literals, {re:5,im:6} and {re:7,im: &lt;br&gt; 9}. I would be highly surprised if you could have a compiler deduce a &lt;br&gt; non-mangled name out of these :-) (best it could come up with would be &lt;br&gt; &amp;quot;ReIm&amp;quot;, IMHO; or &amp;quot;re_int$im_int&amp;quot;).
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/f30010b7e281cc76?show_docid=f30010b7e281cc76</guid>
  <author>
  szege...@gmail.com
  (Attila Szegedi)
  </author>
  <pubDate>Thu, 04 Sep 2008 20:25:27 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/a53978f400d223ac?show_docid=a53978f400d223ac</link>
  <description>
  The Inline annotation would be a hint to hotspot that a given method &lt;br&gt; should at all costs be inlined into its callers (if I remember &lt;br&gt; discussions with John correctly). Potentially this could also be an &lt;br&gt; explicit way to break the N-bytecode size limit for inlined methods. &lt;br&gt; Basically I see it as a way to hint to hotspot that it shouldn&#39;t use a
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/a53978f400d223ac?show_docid=a53978f400d223ac</guid>
  <author>
  charles.nut...@sun.com
  (Charles Oliver Nutter)
  </author>
  <pubDate>Thu, 04 Sep 2008 17:02:37 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/f7fccd7612aaa566?show_docid=f7fccd7612aaa566</link>
  <description>
  Python uses &amp;quot;slots&amp;quot; heavily, and many optimizations in Python impls seek &lt;br&gt; to optimize access to those slots. Method invocation is not just &lt;br&gt; &amp;quot;dispatch to this method&amp;quot;, it&#39;s &amp;quot;lookup whatever&#39;s in this slot and &lt;br&gt; invoke it like a method&amp;quot;. I believe local variables are also technically &lt;br&gt; slot-based, which makes it much similar to JS in that regard. So the
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/f7fccd7612aaa566?show_docid=f7fccd7612aaa566</guid>
  <author>
  charles.nut...@sun.com
  (Charles Oliver Nutter)
  </author>
  <pubDate>Thu, 04 Sep 2008 16:47:25 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ae7eec504b6b030d?show_docid=ae7eec504b6b030d</link>
  <description>
  Ruby is class based, but not only. &lt;br&gt; You can extend single living object in runtime and it turns this &lt;br&gt; object to singleton, creating new hidden subclass in fact. &lt;br&gt; So if you have some kind of framework dynamically creating such &lt;br&gt; singletons in runtime, it could possibly create a lot of hidden &lt;br&gt; subclasses. &lt;br&gt; IMHO. I&#39;m not MRI or JRuby surgeon, this is only from application
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ae7eec504b6b030d?show_docid=ae7eec504b6b030d</guid>
  <author>
  kasou...@gmail.com
  (Rastislav Kassak)
  </author>
  <pubDate>Thu, 04 Sep 2008 14:23:04 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ea009dea36b6eb0d?show_docid=ea009dea36b6eb0d</link>
  <description>
  Indeed, that&#39;s exactly what I had in mind. &lt;br&gt; Why would we need an explicit inline annotation? I was under &lt;br&gt; impression that use of invokedynamic would open the opportunity for &lt;br&gt; HotSpot to inline the code with certain types of MethodHandles. &lt;br&gt; Yeah, my wet dream of combining this with the type specialization of
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ea009dea36b6eb0d?show_docid=ea009dea36b6eb0d</guid>
  <author>
  szege...@gmail.com
  (Attila Szegedi)
  </author>
  <pubDate>Thu, 04 Sep 2008 11:31:18 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/611a3cc9cb187cfe?show_docid=611a3cc9cb187cfe</link>
  <description>
  Well, JS as such has no threading or other concurrency primitives, &lt;br&gt; this much is true. But you can have a JS environment where a program &lt;br&gt; accesses objects shared by multiple threads, i.e., with Rhino in &lt;br&gt; JVM... You&#39;re right that a JS runtime in a browser would most likely &lt;br&gt; be single threaded (at least, have a thread-per-document, where it
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/611a3cc9cb187cfe?show_docid=611a3cc9cb187cfe</guid>
  <author>
  szege...@gmail.com
  (Attila Szegedi)
  </author>
  <pubDate>Thu, 04 Sep 2008 11:23:23 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/3e720a2a0631748f?show_docid=3e720a2a0631748f</link>
  <description>
  As well as the comic there&#39;s this description &lt;br&gt; &lt;a target=&quot;_blank&quot; rel=nofollow href=&quot;http://code.google.com/apis/v8/design.html&quot;&gt;[link]&lt;/a&gt; &lt;br&gt; As I understand it each object is an instance of a &amp;quot;hidden class&amp;quot; and &lt;br&gt; contains a reference to that class. If an object&#39;s structure is &lt;br&gt; mutated by adding a property then a new class, which is a subclass of &lt;br&gt; the original class, is created and replaces the &amp;quot;hidden class&amp;quot;
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/3e720a2a0631748f?show_docid=3e720a2a0631748f</guid>
  <author>
  tugwil...@gmail.com
  (John Wilson)
  </author>
  <pubDate>Thu, 04 Sep 2008 11:05:38 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/1e93f04c8117a4ca?show_docid=1e93f04c8117a4ca</link>
  <description>
  Spot on. Code is data. If it were easy to load new snippets of code &lt;br&gt; into the JVM and have them GCed when not used, I&#39;d be much less uneasy &lt;br&gt; about creating a bunch of type-specialized methods from the same &lt;br&gt; source code; heck, I&#39;d probably even have them being soft-referenced &lt;br&gt; if possible (as they&#39;re just a optimized representation of something
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/1e93f04c8117a4ca?show_docid=1e93f04c8117a4ca</guid>
  <author>
  szege...@gmail.com
  (Attila Szegedi)
  </author>
  <pubDate>Thu, 04 Sep 2008 11:05:28 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ca5089860e0d38df?show_docid=ca5089860e0d38df</link>
  <description>
  Hi, &lt;br&gt; Excuse my curiosity, but my basic understanding of this optimization &lt;br&gt; is like this: in JS, you don&#39;t have classes, so every object is &lt;br&gt; potentially completely different from all others. Therefore, you&#39;d &lt;br&gt; always need to make the hash lookup when something says &amp;quot;foo.bar&amp;quot;, as &lt;br&gt; everything foo might be is always different. Thus creating these
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ca5089860e0d38df?show_docid=ca5089860e0d38df</guid>
  <author>
  m...@martin-probst.com
  (Martin Probst)
  </author>
  <pubDate>Thu, 04 Sep 2008 10:08:06 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/9fd5c216bc2aa0f0?show_docid=9fd5c216bc2aa0f0</link>
  <description>
  I&#39;m fresh from reading Rhino source last night. Rhino currently does &lt;br&gt; probably &amp;quot;level zero&amp;quot; optimization for slot access by caching the most &lt;br&gt; recently-access hash bucket. As you&#39;d expect, it&#39;s only a minimal gain, &lt;br&gt; and only really useful if you&#39;re only using one bucket in sequence. In &lt;br&gt; practice I&#39;d be surprised if this is very common. I tried upping the
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/9fd5c216bc2aa0f0?show_docid=9fd5c216bc2aa0f0</guid>
  <author>
  charles.nut...@sun.com
  (Charles Oliver Nutter)
  </author>
  <pubDate>Wed, 03 Sep 2008 23:21:34 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/e8b0c7d13ec85ad0?show_docid=e8b0c7d13ec85ad0</link>
  <description>
  I&#39;ve toyed with these techniques in JRuby before and always came back to &lt;br&gt; the same point: yes, they could make things faster by varying degrees, &lt;br&gt; but in no case was it worth the pain of managing all that transient &lt;br&gt; code. That is, until anonymous classloading came along. &lt;br&gt; IMHO the biggest things we need to make easier on JVM:
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/e8b0c7d13ec85ad0?show_docid=e8b0c7d13ec85ad0</guid>
  <author>
  charles.nut...@sun.com
  (Charles Oliver Nutter)
  </author>
  <pubDate>Wed, 03 Sep 2008 22:29:11 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Re: Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/898b1ce89a31abd2?show_docid=898b1ce89a31abd2</link>
  <description>
  My understanding of this optimization in V8 is that it&#39;s laser-targeted &lt;br&gt; at probably the biggest bottleneck of Javascript: property lookup. Every &lt;br&gt; JS impl seems to have their own way of tackling the problem, but the &lt;br&gt; bottom line is that if you want a decent JS impl you&#39;re going to need a &lt;br&gt; way to optimize name-based property lookup beyond the dumb hash every
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/898b1ce89a31abd2?show_docid=898b1ce89a31abd2</guid>
  <author>
  charles.nut...@sun.com
  (Charles Oliver Nutter)
  </author>
  <pubDate>Wed, 03 Sep 2008 22:26:15 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/0e6d215d74840fe8?show_docid=0e6d215d74840fe8</link>
  <description>
  To paraphrase a loan commercial: &amp;quot;When VMs compete, language &lt;br&gt; implementors win.&amp;quot; &lt;br&gt; That&#39;s something you can build in JVM bytecodes using invokedynamic. &lt;br&gt; The call site should use not a generic signature but a signature &lt;br&gt; which reflects exactly the types known statically to the caller, at &lt;br&gt; the time it was byte-compiled.
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/0e6d215d74840fe8?show_docid=0e6d215d74840fe8</guid>
  <author>
  john.r...@sun.com
  (John Rose)
  </author>
  <pubDate>Wed, 03 Sep 2008 21:56:42 UT
</pubDate>
  </item>
  <item>
  <title>Re: [jvm-l] Trying to apply various techniques of new JS runtimes to JVM dynamic languages</title>
  <link>http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ada998fa59352987?show_docid=ada998fa59352987</link>
  <description>
  I read the &amp;quot;press release&amp;quot; yesterday (probably the most informative &lt;br&gt; comic I&#39;ve ever seen, not that I&#39;m a big comic book... I mean graphic &lt;br&gt; novel reader) but I don&#39;t think I can see right off how inferring a &lt;br&gt; class structure from a lot of instances with similar attribute &lt;br&gt; structure helps a VM optimize execution.
  </description>
  <guid isPermaLink="true">http://groups.google.com/group/jvm-languages/browse_thread/thread/91f29acc60ce90cf/ada998fa59352987?show_docid=ada998fa59352987</guid>
  <author>
  rsch...@sonic.net
  (Randall R Schulz)
  </author>
  <pubDate>Wed, 03 Sep 2008 21:38:27 UT
</pubDate>
  </item>
  </channel>
</rss>
