Post modern age integration focused jvm bytecode assembler
Compiler
result from ClassRepresentation
to ClassResult
which will hold analysis data even if a full ClassRepresentation
could not be built
AST to CodeElement
and CodeElement to AST
lookups in AnalysisResults
invokedynamic
bootstrap methods
LambdaMetaFactory.metafactory
-> java.lang.invoke.LambdaMetafactory.metafactory(MethodHandles.Lookup, String, MethodType, MethodType, MethodHandle, MethodType)
LambdaMetaFactory.altMetafactory
-> java.lang.invoke.LambdaMetafactory.altMetafactory(MethodHandles.Lookup, String, MethodType, Object...)
ConstantBootstraps.nullConstant
-> java.lang.invoke.ConstantBootstraps.nullConstant(MethodHandles.Lookup, String, Class)
ConstantBootstraps.primitiveClass
-> java.lang.invoke.ConstantBootstraps.primitiveClass(MethodHandles.Lookup, String, Class)
ConstantBootstraps.enumConstant
-> java.lang.invoke.ConstantBootstraps.enumConstant(MethodHandles.Lookup, String, Class)
ConstantBootstraps.getStaticFinal
-> java.lang.invoke.ConstantBootstraps.getStaticFinal(MethodHandles.Lookup, String, Class, Class)
ConstantBootstraps.invoke
-> java.lang.invoke.ConstantBootstraps.invoke(MethodHandles.Lookup, String, Class, MethodHandle, Object...)
ConstantBootstraps.fieldVarHandle
-> java.lang.invoke.ConstantBootstraps.fieldVarHandle(MethodHandles.Lookup, String, Class, Class, Class)
ConstantBootstraps.staticFieldVarHandle
-> java.lang.invoke.ConstantBootstraps.staticFieldVarHandle(MethodHandles.Lookup, String, Class, Class, Class)
ConstantBootstraps.arrayVarHandle
-> java.lang.invoke.ConstantBootstraps.arrayVarHandle(MethodHandles.Lookup, String, Class, Class)
ConstantBootstraps.explicitCast
-> java.lang.invoke.ConstantBootstraps.explicitCast(MethodHandles.Lookup, String, Class, Object)
SwitchBootstraps.enumSwitch
-> java.lang.runtime.SwitchBootstraps.enumSwitch(MethodHandles.Lookup, String, MethodType, Object...)
SwitchBootstraps.stringSwitch
-> java.lang.runtime.SwitchBootstraps.typeSwitch(MethodHandles.Lookup, String, MethodType, Object...)
ObjectMethods.bootstrap
-> java.lang.runtime.ObjectMethods.bootstrap(MethodHandles.Lookup, String, TypeDescriptor, Class, String, MethodHandle...)
BasicMethodValueLookup
(which got moved to a new package)
CompilerOptions
ASTElement.range()
yielding unexpected positions due to unsorted childrenNaN
and the like)
nop
, arraylength
, *aload
and *astore
instructions not being implementedanewarray
not popping array size off the stackcheckcase
not changing the value type on the stackpush
and pop
in a variety of stack-manipulating and math instructionsFull Changelog: https://github.com/jumanji144/Jasm/compare/2.3.0...2.4.0
Published by Col-E 11 months ago
ASTElement
will no longer have null
childrenASTElement
children are sorted by positionASTElement.range()
will now consider childrenASTMethod
now has children: modifiers
, exception
, code
range()
computationFull Changelog: https://github.com/Nowilltolife/Jasm/compare/2.2.0...2.3.0
Published by Col-E 11 months ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/2.1.0...2.2.0
Published by Col-E 12 months ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/2.0.2...2.1.0
Published by Col-E almost 1 year ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/2.0.1...2.0.2
Published by Nowilltolife about 1 year ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/2.0.0.1...2.0.1
Published by Nowilltolife about 1 year ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/2.0.0...2.0.0.1
Published by Nowilltolife about 1 year ago
This is the first release of the new JASM format and backend parser.
The feature set is the same as the previous jasm but with the following additions:
Published by Nowilltolife almost 2 years ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.3.2...1.4.3.3
Published by Nowilltolife almost 2 years ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.3.1...1.4.3.2
Published by Nowilltolife almost 2 years ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.3...1.4.3.1
Published by Nowilltolife almost 2 years ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.2...1.4.3
Published by Nowilltolife almost 2 years ago
Changes:
version ???
for requires and module declarationFull Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.2...1.4.2.1
Published by Nowilltolife almost 2 years ago
Changes:
extends
and implements
to being included in the ClassDeclarationGroup
to fix the fact that Attribute parser expected them to be before the class declarationmaybe
keywords which might exist.to
and with
keyword optional for modulesargs
keyword optionalFull Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.1...1.4.2
Published by Nowilltolife almost 2 years ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.1.3...1.4.1.4
Published by Nowilltolife almost 2 years ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.1.2...1.4.1.3
Published by Nowilltolife almost 2 years ago
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.1.1...1.4.1.2
Published by Nowilltolife almost 2 years ago
Fixed interface and annotation-interface not being a acccess modifier
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.1...1.4.1.1
Published by Nowilltolife almost 2 years ago
Added:
Full Changelog: https://github.com/Nowilltolife/Jasm/compare/1.4.0...1.4.1
Published by Nowilltolife almost 2 years ago