Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[compiler][closures] Wire compilation down to binary format and fix bugs #15931

Closed
wants to merge 1 commit into from

Conversation

wrwg
Copy link
Contributor

@wrwg wrwg commented Feb 11, 2025

Description

This implements closures in the RTL bytecode ("stackless bytecode") and wires them down in the compilation chain to Move bytecode. No actual execution of the codes happens, but bytecode verification.

A few issues found in closure compiler and the bytecode verifier are fixed, as well as missing pieces in the stack extended (like the disassembler).

How Has This Been Tested?

Existing tests (after modification of sources) now pass also bytecode verification.

Type of Change

  • New feature
  • Bug fix
  • Breaking change
  • Performance improvement
  • Refactoring
  • Dependency update
  • Documentation update
  • Tests

Which Components or Systems Does This Change Impact?

  • Validator Node
  • Full Node (API, Indexer, etc.)
  • Move/Aptos Virtual Machine
  • Aptos Framework
  • Aptos CLI/SDK
  • Developer Infrastructure
  • Move Compiler
  • Other (specify)

Copy link

trunk-io bot commented Feb 11, 2025

⏱️ 25m total CI duration on this PR
Job Cumulative Duration Recent Runs
check-dynamic-deps 11m 🟩🟩🟩🟩🟩
rust-cargo-deny 9m 🟩🟩🟩🟩🟩
general-lints 2m 🟩🟩🟩🟩🟩
semgrep/ci 2m 🟩🟩🟩🟩🟩
file_change_determinator 57s 🟩🟩🟩🟩🟩
permission-check 14s 🟩🟩🟩🟩🟩
permission-check 11s 🟩🟩🟩🟩🟩
check-branch-prefix 1s 🟩

🚨 1 job on the last run was significantly faster/slower than expected

Job Duration vs 7d avg Delta
check-dynamic-deps 1m 2m -42%

settingsfeedbackdocs ⋅ learn more about trunk.io

This implements closures in the RTL bytecode ("stackless bytecode") and wires them down in the compilation chain to Move bytecode. No actual execution of the codes happens, but bytecode verification.

A few issues found in closure compiler and the bytecode verifier are fixed, as well as missing pieces in the stack extended (like the disassembler).

Existing tests (after modification of sources) now pass also bytecode verification.
@wrwg wrwg changed the base branch from wrwg/clos_compiler to graphite-base/15931 February 11, 2025 20:07
@wrwg wrwg closed this Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant