<< Back to previous view

[ASYNC-86] Update tools.analyzer.jvm dep Created: 14/Aug/14  Updated: 27/Feb/15

Status: Open
Project: core.async
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Enhancement Priority: Major
Reporter: Nicola Mometto Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None

Attachments: Text File 0001-update-to-tools.analyzer.jvm-0.6.6.patch    
Patch: Code
Approval: Screened
Waiting On: Timothy Baldridge

Comment by Nicola Mometto [ 18/Aug/14 1:17 PM ]

This patch also adds a bunch of :op nodes that -item-to-ssa might hit but were not implemented, such as :set! and :host-interop
It also improves/simplifies the passes done by core.async by using info already collected by t.a.jvm passes

Comment by Darrick Wiebe [ 22/Aug/14 7:27 PM ]

The old version of tools.analyzer.jvm seems to be causing a problem with the lein-figwheel plugin if I update it to the current version of core.async.

I've reported that at https://github.com/bhauman/lein-figwheel/issues/32 and am unsure if an update to this dependency would fix the issue, but thought I should point it out here.

Comment by Nicola Mometto [ 22/Aug/14 8:23 PM ]

No, this is not related to core.async.
tools.analyzer.jvm depends on core.cache and if a leiningen plugin pulls an older version of core.cache, than plugins that depend tools.analyzer.jvm will not work, assuming they are :eval-in-leiningen true

Comment by Ambrose Bonnaire-Sergeant [ 12/Oct/14 12:50 PM ]

This issue is stopping core.typed from upgrading past tools.analyzer.jvm 0.3.0.

Comment by Andy Fingerhut [ 12/Oct/14 4:33 PM ]

Ambrose, this comment is directed to you, with no intended bearing on this ticket ASYNC-86.

Just an FYI regarding core.typed that I have found it not exactly fun, but it has eliminated some problems by having Eastwood copy the source code of tools.analyzer(.jvm) and its dependencies, with renamed namespaces, into its own source tree. This enables Eastwood to analyze+eval source code of any version of those libraries without causing conflicts. I have a pre-alpha version of a tool to assist in automating parts of this copy&rename called Dolly [1]. If Dolly was polished some more, it might become useful to you for this purpose in core.typed.

Benedek Fazekas has created a tools called MrAnderson [2] for the same purpose (independently developed from Dolly). I haven't looked into the details of how it works yet, but it may do a better job than Dolly 0.1.0.

[1] https://github.com/jafingerhut/dolly for the library, https://github.com/jonase/eastwood/blob/master/copy-deps-scripts/README.md#using-dolly-to-copy-dependencies-into-eastwood-source-code for copy-and-paste-into-a-REPL forms that I use to copy in updated versions of Eastwood dependencies into its source tree. The polishing I mention above would cut that down significantly.

[2] https://github.com/benedekfazekas/mranderson I learned about this lib from a Github issue on Eastwood, where there is a little bit of discussion: https://github.com/jonase/eastwood/issues/87

Comment by Nicola Mometto [ 15/Oct/14 12:35 PM ]

Added patch to update to tools.analyzer.jvm 0.6.1.
This makes the core.async passes use the new tools.analyzer pass scheduler and the :passes-opts mechanism to configure the passes.

Comment by Timothy Baldridge [ 27/Oct/14 9:17 AM ]

Took a look at the latest patch, it applies cleanly and the tests all pass. Marking it as screened.

Comment by Nicola Mometto [ 27/Oct/14 11:18 AM ]

Updated patch to use version 0.6.3 of t.a.jvm which has a faster scheduler and significant performance enhancements

Comment by Alex Miller [ 30/Oct/14 3:56 PM ]

Tim, can you re-screen latest?

Comment by Nicola Mometto [ 03/Nov/14 1:59 PM ]

Attached another patch updating to the recently released t.a.jvm 0.6.4, identical to the previous patch except for the dependency.

Comment by Nicola Mometto [ 10/Nov/14 3:08 PM ]

Updated lastest patch adding a -item-to-ssa impl for :with-meta nodes, discussed with Tim Baldridge on irc

Comment by Timothy Baldridge [ 27/Feb/15 3:13 PM ]

Screened, looks good.

Generated at Thu Mar 05 10:08:44 CST 2015 using JIRA 4.4#649-r158309.