diff options
author | John Högberg <[email protected]> | 2019-01-25 10:31:36 +0100 |
---|---|---|
committer | John Högberg <[email protected]> | 2019-01-28 15:33:01 +0100 |
commit | e026dd28a850a2ce2b95207515b1bc5cb2bb0d50 (patch) | |
tree | 1e2248ffde9979c51d06e4c7ff3fe3b12adbcb28 /lib/compiler/src/compiler.app.src | |
parent | 1ea703443fa0bbc3aade0bb61fc96b2f0cf6b84c (diff) | |
download | otp-e026dd28a850a2ce2b95207515b1bc5cb2bb0d50.tar.gz otp-e026dd28a850a2ce2b95207515b1bc5cb2bb0d50.tar.bz2 otp-e026dd28a850a2ce2b95207515b1bc5cb2bb0d50.zip |
beam_validator: Refactor type management
Our current type management (based on set_type_reg etc) is rather
error-prone, often requiring special cases on a per-instruction
basis. This commit replaces nearly all ad-hoc mechanisms with more
general abstractions:
* assign - Moves a term.
* create_term - Creates a new term.
* extract_term - Extracts a term from another, maintaining
fragility as required.
* update_type - Adds more type information about a register.
* type_test - Helper function for type tests that subtracts on
failure and meets on success.
Diffstat (limited to 'lib/compiler/src/compiler.app.src')
0 files changed, 0 insertions, 0 deletions