You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Presently the compiler emits bytecode that the vm uses to construct classes at runtime. Would it be possible and beneficial to move that responsibility prior to runtime. This would free up a number of opcodes and simplify the vm, mostly it might push us towards a more typed feature set.
A few opcodes are used for types, Type, Field, Method, Mixin. But these are only used once in most cases, to generate the runtime class object, not in the creation on instances.
The text was updated successfully, but these errors were encountered:
Having bytecode to create classes rather than compiler doing all of it, allows for bytecode serialisation being the only requirement for preventing recompile at every run. Presently, I'd prefer tiny recompile times over cached bytecode chunks.
Having started some of this the next hurdle is closures. init chains etc. were using closures they run in not just chunk and label/location.
From testing they can just use chunk, nothing we have with test coverage or in current projects uses upvals in methods or init chains. They should be using labelIDs though, but appear to use instruction index at the moment
Presently the compiler emits bytecode that the vm uses to construct classes at runtime. Would it be possible and beneficial to move that responsibility prior to runtime. This would free up a number of opcodes and simplify the vm, mostly it might push us towards a more typed feature set.
A few opcodes are used for types, Type, Field, Method, Mixin. But these are only used once in most cases, to generate the runtime class object, not in the creation on instances.
The text was updated successfully, but these errors were encountered: