Merge pull request #1082 from masuidrive/add_debug_info

Added debug infomation section into .mrb file
This commit is contained in:
Yukihiro "Matz" Matsumoto
2013-03-27 08:34:12 -07:00
4 changed files with 277 additions and 12 deletions
+10 -2
View File
@@ -14,8 +14,8 @@ extern "C" {
#include "mruby.h"
#ifdef ENABLE_STDIO
int mrb_dump_irep_binary(mrb_state*, size_t, FILE*);
int mrb_dump_irep_cfunc(mrb_state *mrb, size_t n, FILE *f, const char *initname);
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
int mrb_read_irep(mrb_state*, const uint8_t*);
@@ -51,6 +51,7 @@ mrb_value mrb_load_irep_file(mrb_state*,FILE*);
#define RITE_BINARY_EOF "END\0"
#define RITE_SECTION_IREP_IDENTIFIER "IREP"
#define RITE_SECTION_LIENO_IDENTIFIER "LINE"
#define MRB_DUMP_DEFAULT_STR_LEN 128
@@ -81,6 +82,13 @@ struct rite_section_irep_header {
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_binary_footer {
RITE_SECTION_HEADER;
};