diff options
| author | Mistivia <i@mistivia.com> | 2025-03-25 12:05:20 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-03-25 12:05:20 +0800 |
| commit | dc87ff4b0c9f311be7fad652594e3766a4ddb0c6 (patch) | |
| tree | 8e7d1c9045b8abec12b4682a2bb4d8a5b217139e /src/fvm.h | |
| parent | 4188f791787be19f32226b8ac0f213f61cdd4666 (diff) | |
refactor name
Diffstat (limited to 'src/fvm.h')
| -rw-r--r-- | src/fvm.h | 37 |
1 files changed, 17 insertions, 20 deletions
@@ -3,20 +3,17 @@ #include <stdint.h> -typedef int64_t fvm_word_t; -typedef double fvm_float_t;; - struct fvm; // return non-zero if vm should be suspended -typedef void (*fvm_syscall_fn_t)(struct fvm* vm); +typedef void (*fvm_syscall_fn)(struct fvm* vm); struct fvm { - fvm_word_t sp; // stack pointer - fvm_word_t bp; // base pointer - fvm_word_t pc; // programm counter - fvm_word_t rv; // return value - fvm_syscall_fn_t *syscall_table; + int64_t sp; // stack pointer + int64_t bp; // base pointer + int64_t pc; // programm counter + int64_t rv; // return value + fvm_syscall_fn *syscall_table; }; enum fvm_op { @@ -100,22 +97,22 @@ enum fvm_op { int fvm_init(struct fvm *vm, void *code, int64_t stack_size); int64_t fvm_execute(struct fvm *vm); -void fvm_push(struct fvm *vm, fvm_word_t value); +void fvm_push(struct fvm *vm, int64_t value); int64_t fvm_pop(struct fvm *vm); -fvm_float_t fvm_loadf(struct fvm *vm, fvm_word_t addr); -void fvm_storef(struct fvm *vm, fvm_word_t addr, fvm_float_t val); +double fvm_loadf(struct fvm *vm, int64_t addr); +void fvm_storef(struct fvm *vm, int64_t addr, double val); -fvm_word_t fvm_load(struct fvm *vm, fvm_word_t addr); -void fvm_store(struct fvm *vm, fvm_word_t addr, int64_t value); +int64_t fvm_load(struct fvm *vm, int64_t addr); +void fvm_store(struct fvm *vm, int64_t addr, int64_t value); -int32_t fvm_load32(struct fvm *vm, fvm_word_t addr); -void fvm_store32(struct fvm *vm, fvm_word_t addr, int32_t value); +int32_t fvm_load32(struct fvm *vm, int64_t addr); +void fvm_store32(struct fvm *vm, int64_t addr, int32_t value); -int16_t fvm_load16(struct fvm *vm, fvm_word_t addr); -void fvm_store16(struct fvm *vm, fvm_word_t addr, int16_t value); +int16_t fvm_load16(struct fvm *vm, int64_t addr); +void fvm_store16(struct fvm *vm, int64_t addr, int16_t value); -int8_t fvm_load8(struct fvm *vm, fvm_word_t addr); -void fvm_store8(struct fvm *vm, fvm_word_t addr, int8_t value); +int8_t fvm_load8(struct fvm *vm, int64_t addr); +void fvm_store8(struct fvm *vm, int64_t addr, int8_t value); #endif |
