mirror of
https://github.com/copy/v86.git
synced 2025-12-31 04:23:15 +00:00
Port jit to Rust
The following files and functions were ported:
- jit.c
- codegen.c
- _jit functions in instructions*.c and misc_instr.c
- generate_{analyzer,jit}.js (produces Rust code)
- jit_* from cpu.c
And the following data structures:
- hot_code_addresses
- wasm_table_index_free_list
- entry_points
- jit_cache_array
- page_first_jit_cache_entry
Other miscellaneous changes:
- Page is an abstract type
- Addresses, locals and bitflags are unsigned
- Make the number of entry points a growable type
- Avoid use of global state wherever possible
- Delete string packing
- Make CachedStateFlags abstract
- Make AnalysisType product type
- Make BasicBlockType product type
- Restore opcode assertion
- Set opt-level=2 in debug mode (for test performance)
- Delete JIT_ALWAYS instrumentation (now possible via api)
- Refactor generate_analyzer.js
- Refactor generate_jit.js
This commit is contained in:
parent
30a72e5874
commit
3a8d644d75
67 changed files with 4034 additions and 4344 deletions
|
|
@ -12,6 +12,7 @@ path = "src/rust/lib.rs"
|
|||
|
||||
[profile.dev]
|
||||
lto = false
|
||||
opt-level=2
|
||||
panic = "abort"
|
||||
|
||||
[profile.release]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue