3

I've been doing some research about compilers (to be ran on JVM). And I've successfully found two assemblers which targets that.

However, the two I found, one is Jasmin, which not quite well maintained (last update in 2010). And the other,Krakatau, is kind of poor-documented.

I could help noticing that there are a lot of mature JVM languages. And I'm just wondering, what assembler did they use? Or did they just make full use of raw bytecodes? To my understanding, there is a lot more besides simple bytecode instructions. And it will be a lot easier using assembler also.

Are they any mature (well-maintained and well-documented) JVM assemblers out there? Or Do I just start from scratch, learn JVM basics?

Qiaosen Huang
  • 1,093
  • 1
  • 10
  • 25
  • TLDR: scala uses ASM. Mostly duplicate of http://stackoverflow.com/q/13380807/298389 (apart from Clojure part). – om-nom-nom Oct 27 '14 at 14:28
  • You could check out [codec-jvm](https://github.com/rahulmutt/codec-jvm) assembler written in Haskell. – Maqbool Jul 11 '18 at 19:17

1 Answers1

5

Clojure uses the ASM library to generate bytecode directly. ASM is a very good and widely used library for this purpose.

Alex Miller
  • 69,183
  • 25
  • 122
  • 167