2008-12-11 11 views
31

¿Hay un buen lugar para aprender el conjunto de instrucciones de bytecode de JVM? La especificación tal vez y tal vez algunos tutoriales?Especificación de bytecode de Java

Pregunto porque me gustaría diseñar un lenguaje de juguete y un compilador que genere bytecode de JVM.

Gracias por su conocimiento y tal vez googlear.

Respuesta

4

También son útiles los javap desensamblador y manipulación de código de bytes marcos como ASM y BCEL, aunque lo único que quiere hacer es verificar sus clases.

1

Esto es un poco más especializado, pero here es una presentación en línea sobre cómo optimizar bytecode generado para ejecutarse en la JVM. Fue presentado en las recientes conferencias JVM Languages Summit. InfoQ tiene a collection of presentations de esa conferencia que podría ser de ayuda para alguien que quiera abrir un idioma en la JVM (o para ver lo que ya se ha hecho).

4

El libro Programming for the Java Virtual Machine explica el conjunto de instrucciones JVM y cómo escribir el código para él. También presenta un ensamblador de código de bytes llamado Oolong, que no he podido descargar. Sin embargo, puede usar Jasmin, el predecesor de Oolong. Esencialmente, escribes un archivo de texto con instrucciones y Jasmin escupirá un archivo .class. El libro fue publicado en 1999, pero sigue siendo una introducción buena y gentil a la VM.

+1

Jasmin no se ha mantenido y no admite muchas características del archivo de clase. Recomiendo usar Krakatau Assembler, que es compatible con Jasmin pero mucho más potente. (Divulgación: lo escribí). – Antimony

2

Para empezar, sugiero generar código Java desde su idioma.

Esto simplificará mucho más la lectura y la depuración.

Cuestiones relacionadas