Commit Graph

6 Commits

Author SHA1 Message Date
Wenyong Huang
e521d9991d Implement GC opcode fund.bind 2022-06-24 03:30:03 +08:00
Wenyong Huang
127237b89f
Implement GC reclaim process for classic interpreter (#1136) 2022-05-05 20:20:37 +08:00
Wenyong Huang
68cdf30476
Implement stack frame GC object tracking (#1065)
Implement stack frame GC object tracking for the reclaim root set traversing
And update wamr-test-suites for latest spec cases:
- Update GC spec cases to latest version
- Patch spec interpreter to support building it with ocaml 4.0.8
- Fix runtest.py to ref.null result
- Comment some supported cases in type-cannon and type-equivalence
2022-04-08 14:07:22 +08:00
Wenyong Huang
739ef3bc50
Implement instantiation and classic interpreter for GC feature (#1025)
Implement interpreter module instantiation process for GC
Implement most GC opcodes for classic interpreter
Successfully pass most GC spec cases
2022-03-22 15:53:37 +08:00
Wenyong Huang
a6d390740f
Implement GC bytecode validation (#918)
Implement GC bytecode validation in loader stage, except for opcode
let and and func.bind. Pass the related spec cases.

And implement some GC object related APIs.

The source code may be not so elegant, we will optimize it in the future.
2022-02-15 11:24:25 +08:00
Wenyong Huang
2f45911641
Import basic codes of GC feature (#823)
Import basic codes of GC feature:
- Add basic GC related macros, data structures and APIs
- Change WASMType to WASMFuncType/AOTFuncType and re-org interp/aot codes
- Import GC opcodes and add empty opcode handling in loader and interpreter
- Implement type section loading to resolve func/struct/array type
- Implement is_subtype_of for func/struct/array, implement struct field offset calculation
- Add -G option for test_wamr.sh to test GC spec cases

Signed-off-by: Wenyong Huang <wenyong.huang@intel.com>
2021-11-09 18:25:08 +08:00