{"id":22302336,"url":"https://github.com/svenslaggare/stackjit","last_synced_at":"2025-07-29T03:33:10.170Z","repository":{"id":18241267,"uuid":"21389165","full_name":"svenslaggare/StackJIT","owner":"svenslaggare","description":"Simple virtual machine for a stack-based assembler language.","archived":false,"fork":false,"pushed_at":"2017-10-15T19:48:58.000Z","size":1403,"stargazers_count":21,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T06:51:14.582Z","etag":null,"topics":["jit-compiler","multi-platform","virtual-machine","x64"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svenslaggare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-01T13:43:54.000Z","updated_at":"2025-01-23T03:43:15.000Z","dependencies_parsed_at":"2022-08-04T23:16:13.447Z","dependency_job_id":null,"html_url":"https://github.com/svenslaggare/StackJIT","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/svenslaggare/StackJIT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenslaggare%2FStackJIT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenslaggare%2FStackJIT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenslaggare%2FStackJIT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenslaggare%2FStackJIT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svenslaggare","download_url":"https://codeload.github.com/svenslaggare/StackJIT/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenslaggare%2FStackJIT/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267623071,"owners_count":24117124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jit-compiler","multi-platform","virtual-machine","x64"],"created_at":"2024-12-03T18:36:31.006Z","updated_at":"2025-07-29T03:33:09.690Z","avatar_url":"https://github.com/svenslaggare.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Linux Build Status](https://travis-ci.org/svenslaggare/StackJIT.svg?branch=master)](https://travis-ci.org/svenslaggare/StackJIT) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/nqt3cks6w2kqfny8?svg=true)](https://ci.appveyor.com/project/svenslaggare/stackjit)\nStackJIT\n========\nSimple multi-platform virtual machine for a stack-based assembler language.\n\n## Features\n* Supports both Linux and Windows.\n* Baseline JIT compiler (no optimizations).\n* Supports arrays, classes.\n* Compacting generational garbage collector.\n* Supports lazy JIT compilation.\n* Can easily be embedded.\n* No external dependencies.\n\n## Running\nTo run the VM, supply a program via stdin:\n```\n./stackjit \u003c programs/basic/program.txt\n```\n\n### Options\n* `-d` or `--debug`: Enables debugging.\n* `-ogc` or `--output-generated-code`: Outputs the generated machine code. The output can be viewed using _objdump_: `objdump -D -M intel -b binary -mi386 -Mx86-64 \u003cfile name\u003e`.\n* `-t` or `--test`: Enables test mode, which loads test related libraries.\n* `-ngc` or `--no-gc`: Disables garbage collection. The GC can still be used by calling the runtime function.\n* `-i \u003clibrary file\u003e`: Loads a library.\n\n## Supported platforms\n* Linux x64\n* Windows x64\n\n## Build\n### Linux\nRequirments:\n* C++11 compiler.\n* [CxxTest](http://cxxtest.com/) for tests.\n\nTo build:\n```\nmake all\n```\nTo run tests:\n```\nmake test\n```\n\n### Windows\nRequirements:\n* Visual Studio 2015.\n* CMake.\n* [CxxTest](http://cxxtest.com/) for tests.\n\nThe following command installs CxxTest:\n```\ngit clone -q --branch=master https://github.com/svenslaggare/CxxTest.git C:\\CXXTest\nset PATH=%PATH%;C:\\CXXTest\\bin\n```\n\nTo create the solution file run:\n```\nmkdir Windows\ncd Windows\ncmake -G \"Visual Studio 14 2015 Win64\" ..\\\n```\n\n## Documentation\nSee the [documentation folder](https://github.com/svenslaggare/StackJIT/tree/master/documentation).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenslaggare%2Fstackjit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvenslaggare%2Fstackjit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenslaggare%2Fstackjit/lists"}