Externalizing ASM

150 views
Skip to first unread message

Ghadi Shayban

unread,
Mar 9, 2013, 9:19:50 PM3/9/13
to cloju...@googlegroups.com
In case anyone wants to experiment with emitting invokeDynamic [1,2], I made a few commits to remove ./src/jvm/clojure/asm/* and depend on the latest stable version of ASM.  Just a handful of minor things changed, and all tests pass, but I wanted to ask a few questions:

Is re-rooting under src/jvm/clojure/asm with the latest ver preferable to making an external dependency? [3]
Does the Inria/BSD license need to still be included in the case of externalizing?  I think yes.

There are a few artifacts under ASM [4], but right now it is using asm-all. There are smaller deps that might be a minimal useful subset for code emission -- also to maintain a slim footprint.

I can place a patch in jira, but it'll be on the larger side because of rm asm/*

Ghadi Shayban

unread,
Mar 9, 2013, 9:22:40 PM3/9/13
to cloju...@googlegroups.com
Oh damn I just saw the previous thread from Paul Stadig and Rich from October -- I'll provide another update tomorrow, looks like it answers all the questions.

Ghadi Shayban

unread,
Mar 24, 2013, 11:01:23 PM3/24/13
to cloju...@googlegroups.com
I've been using the patch daily [1].

Todo:
1) verify that bytecode is similar to the old version.
2) figure out how to switch to JVM 1.7 bytecode. Bumping the version spec upwards makes the bytecode verifier fail. This is just to have a playground for experimentation -- not to break backwards compatibility for everyone.

ABI compatibility with *should* be the same, as method entry points. But any external consumer reliant on clojure.asm being there is obviously broken.
Reply all
Reply to author
Forward
0 new messages