clojure-dev

Issues: https://clojure.atlassian.net/browse/CLJ | Guide: https://insideclojure.org/2015/05/01/contributing-clojure/
devn 2019-08-26T22:21:25.008700Z

@cgrand what happens if in your loop your recur with an explicit cast of (int (inc ...))? I know the docs say otherwise but Iā€™m curious if an explicit cast to int on the recur changes the timing. Not in front of a machine or Iā€™d give it a whirl.

2019-08-26T22:50:55.009800Z

If anyone has instructions they have followed for making the JVM PrintAssembly option show Intel/AMD assembler for JIT-compiled methods, without frequent messages like this one: Fatal error: Disassembling failed with error code: 15 I would appreciate knowing them.

2019-08-26T22:54:59.011700Z

I have tried using a pre-compiled hsdis .so file that comes as part of Ubuntu 18.04's libhsdis0-fcml package, and it often prints Intel disassembly listings of JIT-compiled methods without errors, but it does still give errors sometimes. Details on the steps I have followed in this bash script, in case anyone is curious for something that often (but not always) produces decent results on Ubuntu 18.04 Linux: https://github.com/jafingerhut/leeuwenhoek/blob/master/bin/ubuntu-hsdis-install.sh

jumar 2019-08-27T08:02:53.012200Z

Did you try to compile your own version? https://github.com/liuzhengyang/hsdis

jumar 2019-08-27T08:04:24.012500Z

Btw. unless you're super-proficient in reading Hotspot's assembly I thin it's a lost cause to try to analyze that output

jumar 2019-08-27T08:04:38.012700Z

You may try https://github.com/AdoptOpenJDK/jitwatch/wiki

2019-08-27T14:41:14.012900Z

@jumar thx much for those links. I did try to compile my own version, but lots of trial and error there trying to tweak hsdis Makefile and determine which version of binutils actually works. That github repo hsdis looks like something I wished I had found weeks ago.

2019-08-27T14:41:43.013100Z

I may give up on trying to read HotSpot's assembly soon, but not until after I have at least started trying šŸ™‚

1šŸ‘
2019-08-28T18:23:29.000400Z

@jumar Have you used jitwatch on a Clojure program before, with useful results?

jumar 2019-08-29T03:50:54.000600Z

Not really, just tried a demo on some Java code as far as I remember