8 个仓库
A virtual machine architecture that uses virtual registers for instructions instead of a value stack.
Distinct from Register-Pressure Optimizations: Describes the architectural choice of a register-based VM for performance, distinct from CPU register pressure optimization.
Explore 8 awesome GitHub repositories matching programming languages & runtimes · Register-Based Bytecode. Refine with filters or upvote what's useful.
Lua is an embeddable scripting language written in ISO C, designed to be integrated into host applications for runtime customization. It provides a C-based scripting engine and a prototype-based object model that utilizes associative arrays and metatables to implement inheritance and complex data structures. The language features a cooperative multitasking system that manages concurrent execution threads via coroutines and an incremental garbage collector for automatic memory management. It includes a safe code sandbox to isolate global state and run untrusted scripts within a protected envir
Utilizes a set of virtual registers instead of a stack to reduce instruction count and improve execution speed.
Wasm3 是一个专为嵌入式运行时集成而设计的 WebAssembly 解释器。它支持在微控制器和资源受限的硬件上执行便携式二进制逻辑,并支持利用 WebAssembly 系统接口(WASI)与系统资源交互的模块。 该运行时采用基于寄存器的字节码解释和直接线程调度,将虚拟寄存器映射到物理 CPU 寄存器。它包括一个主机调用接口,用于将导入映射到 C 函数,并利用静态模块验证来确保字节码在执行前符合规范规则。 该项目通过线性内存分配限制和指令级 Gas 计量提供资源管理,以防止无限循环和系统耗尽。可观测性通过执行追踪、流监控和解释器操作分析来处理。为了开发和质量保证,该运行时包含一个交互式 REPL 并支持覆盖率引导的模糊测试。
Employs a register-based bytecode architecture that maps virtual registers to physical CPU registers for improved performance.
Smali is a two-way binary translation toolset designed to convert Dalvik bytecode to human-readable assembly and back again. It provides a mechanism for the disassembly and assembly of executable files used in virtual machine environments. The project enables the modification of compiled Android application logic by transforming binary files into editable assembly and rebuilding them. It is used for reverse engineering, malware analysis, and the study of low-level instructions to identify program behavior or security flaws. The toolkit covers binary construction through smali code assembly a
Assigns virtual registers to handle local variables and method parameters during bytecode assembly.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Registers handlers for IOPort faults and VMCall instructions on IA32 guest VMs.
mruby is a lightweight Ruby interpreter designed to be embedded into C applications. It compiles Ruby source code into a compact, platform-independent bytecode that executes on a register-based virtual machine, and exposes a stable C API for host programs to initialize the interpreter, load bytecode, and invoke Ruby methods at runtime. The interpreter distinguishes itself through a tightly coupled parser and compiler that performs lexical analysis, syntax parsing, and bytecode generation in a single pass without constructing an intermediate AST, minimizing memory overhead. It also includes a
Uses a fixed set of virtual registers instead of a stack to execute bytecode, reducing instruction count and improving speed.
该项目是一个全面的技术面试准备指南和计算机科学知识库。它作为一个结构化的学习资源,旨在帮助软件工程师复习核心工程概念并准备专业编码评估。 该仓库专注于广泛的理论和实践领域,包括移动应用架构和操作系统基础的详细参考。它提供了关于软件架构模式和网络协议分析的精选材料,以支持职业发展。 该内容涵盖了基础能力,如数据结构与算法、并发与多线程以及内存管理。它还深入探讨了系统架构,包括进程调度、进程间通信和 UI 渲染优化。
Explores virtual machine architectures that use registers for instructions instead of a value stack.
AsmJit 是一个运行时机器码生成器和 JIT 编译器后端,将高级定义转换为可执行的处理器指令。它提供了一个统一的指令发射 API 和一个可执行内存管理器,用于跨多个 CPU 架构分配和保护虚拟内存页。 该库作为 x86 和 ARM 的汇编引擎,通过统一的后端支持跨平台汇编生成。它能够在保持单一代码库的同时,为不同的 CPU 创建优化的机器码。 该项目涵盖了低级系统抽象,包括寄存器分配、架构特定的调用约定和动态二进制插桩。它使用基于标签的偏移解析和直接缓冲发射,管理中间表示到二进制代码的转换。
Maps abstract virtual registers to physical hardware registers to optimize resource use and execution speed.
Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous
Features a register-based bytecode virtual machine to minimize stack operations and improve performance.