Version VM: -.-.-
Esta documentacion fue realizada usando la aplicacion Obsidian.
Recomendamos descargarla para una correcta lectura.
Leeme para saber que puedes hacer con el codigo y la documentacion
Indice de documentos nuevos (instrucciones 0x40-0x64)
Documento
Instrucciones cubiertas
MODS y MODU
mods, modu (0x40)
SETCC
setcc (0x43)
TRYENTER y TRYLEAVE
tryenter (0x44), tryleave (0x45)
Sistema de Strings
strmake..strfinalize (0x46-0x54)
STATIC_FIELDS
getstatic (0x60), setstatic (0x61)
FFI_RUNTIME
gchandle (0x56), getpid (0x57), spawnon (0x58), loadmod (0x59), panic (0x5A), setmethdbg (0x5B), fextend (0x5C), fnarrow (0x5D), dlopen (0x62), dlsym (0x63), callni (0x64)
META_OOP
defclass (0xC9), deffield (0xCA), defmethod (0xCB), findclass (0xCC), findmethod (0xCD), addadvice (0xCE), findfield (0xCF), callm (0xFD), proceed (0xFE)
SUPER_INSTRUCCIONES
cmpjmp.cc (0x68), cmpjmpu.cc (0x69), decjnz (0x6A), mvtake (0x72), alu3 family (0x73-0x7B: adds3/subs3/muls3/addu3/subu3/mulu3/and3/or3/xor3), loadz (0x7C), loadzh (0x7D)
Documento
Contenido
JIT C1 baseline
MachineIR, encoder x86-64 hand-rolled, selector, stackmaps, JitRegistry, auto-trigger, ABI vesta_rt
Profile-Guided Optimization
Contadores runtime de branches/tipos/allocs, format .vprof, integracion con JIT (warm-start) y AOT (PGO en ejecutables)
Sistema de Cadenas
FLAT/ROPE/SLICE, Compact Strings, interning, hash, GC
Convencion de Encoding
Convention A vs B, guia para nuevas instrucciones
Plan AOT (Full / Embed / Bare)
Tres tiers de deployment a binarios nativos, mapping IR -> codigo nativo, extensibilidad via annotations
Indice de documentos nuevos (HLL support)
Generics y monomorphization
Documento
Contenido
Generics
SPECIALIZE (0x3A), GenericParam, reificacion
Documento
Contenido
Collections
VestaList, VestaArrayList, VestaHashMap, VestaHashSet
Documento
Contenido
PackageSystem
package.vel, resolucion de dependencias, VESTA_PKG_PATH
Documento
Contenido
SSA IR
Tipos, opcodes, formato textual, API C++, integracion HLL
Documento
Contenido
DebugProtocol
Protocolo TCP/JSON, comandos, eventos, integracion
Documentacion del lenguaje de alto nivel Vesta que compila a VestaVM bytecode.
Documento
Contenido
Vesta
Vision general, pipeline, anotaciones
TiposDatos
Primitivos, string, punteros, structs, arrays, Optional, Result
Enums
Uniones etiquetadas y enums con valor
OptionalResult
Optional<T>, Result<T,E>, ?, !! y la afirmacion de no-nulo
Operadores
Precedencia, semantica y sobrecarga
ControlFlow
if/while/for, match, break/continue, goto
Strings
Metodos, interpolacion ${expr}, especificadores de formato, codificaciones
Matematicas
Las 18 funciones de vesta_math
EstiloYFormato
Lo que vm fmt garantiza, y por que
Programacion orientada a objetos
Documento
Contenido
OOP
Clases, herencia, interfaces, properties, constructores, RAII
ReflexionAOP
forName, getClass, getField, getMethod, invoke, @Aspect, proceed()
Generics
Monomorfizacion al compilar, conceptos, especializacion
Documento
Contenido
SmartPointers
unique<T>, shared<T>, move, deleters propios
BorrowChecker
borrow<T> / borrow_mut<T>, las cuatro reglas, NLL, reborrow
Overlays
Vistas tipadas sobre memoria binaria
DisposicionSecciones
place_section, datos crudos y consultar las secciones desde el programa
Concurrencia y distribucion
Documento
Contenido
Async
@Async, await, spawn, rspawn, Future, msgsend/msgrecv, fibras
Sincronizacion
synchronized, monitores, wait/notify
Documento
Contenido
Excepciones
try/catch/finally, FatalError, panic(), stack trace, RAII
RuntimeHooks
@AllocatorOverride, @PanicHandler, @UnwindImpl y los demas ganchos
Documento
Contenido
Namespaces
namespace, visibilidad, import, impl
Modulos
.vxi, cache incremental, compilacion paralela
CargaDinamica
loadmodule / unloadmodule y hot-reload
PackageManager
vm pkg: manifiesto, lockfile, firmas, auditoria
Sandbox
Capabilities sobre modulos cargados
Documento
Contenido
Colecciones
ArrayList/HashMap/HashSet/Queue/Deque/TreeMap/TreeSet/Stack como keywords
FFI
extern declarativo, ffi_open/sym/call, plugins, vesta_io, vesta_math
InteropC
Interop con C y ownership de structs
CallbacksNativos
as_native_callback: pasar una funcion Vesta a una libreria nativa
SyscallsWindows
La capa NT de std.syscall.windows
Compilacion nativa y bajo nivel
Documento
Contenido
CompilacionNativa
-m aot, objetivos, gc<T> opt-in, sin runtime obligatorio
InlineAsm
asm { }, register("reg"), lista de operandos, @Naked
Vectorizacion
Auto-vectorizacion SSE2/AVX2/AVX512 y cpu_features()
Enlazador
vm --link y vm --ar
Terminal
Color de 24 bits, cursor y pantalla