Skip to content

Latest commit

 

History

History
54 lines (38 loc) · 1.66 KB

File metadata and controls

54 lines (38 loc) · 1.66 KB

Contributing to asmjson

Thank you for your interest in contributing! This is an experimental, research-oriented crate; contributions that improve correctness, performance, portability, or documentation are welcome.

Reporting issues

Please open a GitHub issue and include:

  • A minimal reproducer (a short JSON input and the call that triggers the bug).
  • The output you expected and what you actually observed.
  • Your CPU model (relevant for AVX-512BW vs SWAR path) and Rust toolchain version (rustc --version).

Submitting patches

  1. Fork the repository and create a feature branch.

  2. Make your changes. Keep commits focused; one logical change per commit.

  3. Run the full test suite:

    cargo test
  4. Format your Rust code before committing:

    cargo fmt
  5. Open a pull request against master with a clear description of what the change does and why.

Hand-written assembly

The files under asm/x86_64/ are hand-written GNU assembler. If you modify them, please also update the corresponding comments in src/lib.rs and the design notes in doc/dev.md.

Code style

  • Rust: standard rustfmt formatting (cargo fmt).
  • Assembly: Intel syntax, one blank line between logically distinct blocks, descriptive inline comments for every non-obvious instruction.
  • Ensure exactly one blank line between Rust function definitions (see AGENTS.md for the automated-agent policy).

Seeking support

For questions about using the library, open a GitHub Discussion or a GitHub issue labelled question.