mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
modified to use irep->reps to reference child ireps. preparation for
removing irep array from mrb_state. note that instructions OP_LAMBDA, OP_EXEC and OP_EPUSH are incompatible, and dumped mrb format has changed.
This commit is contained in:
+6
-16
@@ -12,17 +12,15 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#include "mruby.h"
|
||||
#include "mruby/irep.h"
|
||||
|
||||
#ifdef ENABLE_STDIO
|
||||
int mrb_dump_irep_binary(mrb_state*, size_t, int, FILE*);
|
||||
int mrb_dump_irep_cfunc(mrb_state *mrb, size_t n, int, FILE *f, const char *initname);
|
||||
int32_t mrb_read_irep_file(mrb_state*, FILE*);
|
||||
#endif
|
||||
int32_t mrb_read_irep(mrb_state*, const uint8_t*);
|
||||
|
||||
#ifdef ENABLE_STDIO
|
||||
int mrb_dump_irep_binary(mrb_state*, mrb_irep*, int, FILE*);
|
||||
int mrb_dump_irep_cfunc(mrb_state *mrb, mrb_irep*, int, FILE *f, const char *initname);
|
||||
mrb_irep *mrb_read_irep_file(mrb_state*, FILE*);
|
||||
mrb_value mrb_load_irep_file(mrb_state*,FILE*);
|
||||
#endif
|
||||
mrb_irep *mrb_read_irep(mrb_state*, const uint8_t*);
|
||||
|
||||
/* dump/load error code
|
||||
*
|
||||
@@ -43,7 +41,7 @@ mrb_value mrb_load_irep_file(mrb_state*,FILE*);
|
||||
|
||||
/* Rite Binary File header */
|
||||
#define RITE_BINARY_IDENTIFIER "RITE"
|
||||
#define RITE_BINARY_FORMAT_VER "0001"
|
||||
#define RITE_BINARY_FORMAT_VER "0002"
|
||||
#define RITE_COMPILER_NAME "MATZ"
|
||||
#define RITE_COMPILER_VERSION "0000"
|
||||
|
||||
@@ -79,22 +77,14 @@ struct rite_section_irep_header {
|
||||
RITE_SECTION_HEADER;
|
||||
|
||||
uint8_t rite_version[4]; // Rite Instruction Specification Version
|
||||
uint8_t nirep[2]; // Number of ireps
|
||||
uint8_t sirep[2]; // Start index
|
||||
};
|
||||
|
||||
struct rite_section_lineno_header {
|
||||
RITE_SECTION_HEADER;
|
||||
|
||||
uint8_t nirep[2]; // Number of ireps
|
||||
uint8_t sirep[2]; // Start index
|
||||
};
|
||||
|
||||
struct rite_section_debug_header {
|
||||
RITE_SECTION_HEADER;
|
||||
|
||||
uint8_t nirep[2]; // Number of ireps
|
||||
uint8_t sirep[2]; // Start index
|
||||
};
|
||||
|
||||
struct rite_binary_footer {
|
||||
|
||||
Reference in New Issue
Block a user