chakra-core / chakra-core/ChakraCore

Documenting ChakraCore's internals

Open
#6,414 1 comment 4 reactions 0 assignees View on GitHub
Codebase Quality help wanted Task
Dominant language
JavaScript
Stars
9.3k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

As part of improving the experience for contributors we should produce helpful documentation covering the logic of ChakraCore's internals. Including what the key data types are in each area and what key logical processes are used internally:

It would be good if multiple people could contribute to this, we'll need to think about exactly how it should all hang together but here's a rough list of the things we should document:

- [ ] Process overview from script file -> execution with notes on where different aspects of the codebase are involved
- [ ] Parser
- [ ] Bytecode emitter
- [ ] Type system
- [ ] Interpretor
- [ ] JS Library
- [ ] JsBuiltins
- [ ] INTL
- [ ] GarbageCollector/Recycler
- [ ] Jit
- [ ] Internal Data Structures
- [ ] RegEx parsing and matching

Contributor guide

Open the contributing guide

Research direction

Start by defining how the proposed documentation should be organized, beginning with the script-file-to-execution process overview. Then research the listed areas—parser, bytecode emitter, type system, interpreter, libraries, internationalization, garbage collection, JIT, data structures, and regular expressions—and document their key data types, logic, and relationships; done means the planned coverage is complete and navigable.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
compilers, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.