8 个仓库
Mechanisms for automatic memory management that identify and reclaim unreachable heap objects during program execution.
Explore 8 awesome GitHub repositories matching programming languages & runtimes · Garbage Collectors. Refine with filters or upvote what's useful.
Go is a statically typed, compiled programming language designed for building scalable, concurrent software. It provides a memory-safe execution environment that combines a high-performance runtime with a self-hosting compiler toolchain, enabling the creation of statically linked machine code binaries without external dependencies. The language is built around a structural type system that uses interfaces for polymorphism and a concurrency model based on lightweight, stack-based coroutines that communicate through channels. The language distinguishes itself through a runtime that features a c
Implements a concurrent mark-and-sweep collector that reclaims unreachable heap objects for low-latency memory management.
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
Implements a conservative garbage collector that automatically reclaims memory by scanning heap and stack objects.
Hermes is a mobile-optimized JavaScript runtime and engine designed for React Native. It functions as an ahead-of-time bytecode compiler that converts JavaScript source code into a dense binary format during the build process to eliminate the need for parsing and compilation at runtime. The engine features a baseline JIT compiler that generates native machine code for frequently called functions to improve performance after the initial launch. It also includes a mobile-optimized garbage collector that precisely identifies reachable objects to minimize memory overhead and pause times on resour
Ships a precise garbage collector that minimizes memory overhead and pause times on resource-constrained mobile devices.
Crafting Interpreters is a comprehensive resource for building a complete programming language from scratch. It provides a structured guide to the fundamental components of language implementation, including lexing, parsing, and the design of execution engines. The project demonstrates two distinct approaches to language execution: a tree-walking interpreter that evaluates source code by traversing its abstract syntax structure, and a stack-based virtual machine that compiles code into custom bytecode for execution. These implementations are supported by core runtime mechanisms such as lexica
Provides a memory management mechanism that tracks object references during runtime to reclaim unused data.
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
Implements an automatic memory management system that reclaims unreachable objects incrementally.
ChakraCore is an embeddable JavaScript engine and high-performance scripting runtime. It provides a just-in-time compiler that converts JavaScript source code into optimized machine code during runtime to increase execution speed and throughput. The engine utilizes a multi-tiered compilation pipeline and tiered machine code generation to balance startup time with execution speed. Memory is managed via a concurrent garbage collector that reclaims unreachable objects on background threads to minimize application pauses. The project provides capabilities for embedded JavaScript execution and au
Features a concurrent garbage collector that reclaims unreachable objects on background threads.
Cello is a programming language extension for C that provides a higher-level implementation of the language. It integrates an object-oriented framework, an automated garbage collection system, and a runtime reflection library to enable dynamic type inspection. The project implements a structured system for object orientation within C, including support for classes, type classes, and polymorphism. It includes a runtime exception handling system to intercept execution errors and initiate recovery procedures. The framework further provides generic programming capabilities for creating reusable
Provides an automated garbage collection system to identify and reclaim unreachable memory in C.
This project is a Chromium-based mobile browser and rendering engine designed for mobile platforms. It functions as a web extension host, allowing the execution of browser extensions within a mobile environment to provide custom functionality. The project distinguishes itself through custom user interface modifications, such as the implementation of a specialized night mode and the relocation of the address bar for improved ergonomics. It also includes a remote debugging interface and protocol that allow an external developer console to connect to a live browser instance for inspecting and tr
Automatically manages C++ object deletion by binding their lifecycles to the JavaScript garbage collector.