diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-11-15 20:15:10 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-11-15 21:01:56 +0900 |
| commit | 61f49690e43cea3df6ebbdf424cf6777826056b0 (patch) | |
| tree | 25d4f8e4ecec412c79ac4232fae00bfe93663cda /src/load.c | |
| parent | 1bea1e2050ee4c1b3e558a307c7d2731f6b52823 (diff) | |
| download | mruby-61f49690e43cea3df6ebbdf424cf6777826056b0.tar.gz mruby-61f49690e43cea3df6ebbdf424cf6777826056b0.zip | |
Remove `filename`&`lines` from `mrb_irep` struct.
This patch slightly reduce memory consumption (2% for my test).
Diffstat (limited to 'src/load.c')
| -rw-r--r-- | src/load.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/load.c b/src/load.c index 70f5406eb..559fff1d4 100644 --- a/src/load.c +++ b/src/load.c @@ -215,12 +215,11 @@ read_section_irep(mrb_state *mrb, const uint8_t *bin, uint8_t flags) return read_irep_record(mrb, bin, &len, flags); } +/* ignore lineno record */ static int read_lineno_record_1(mrb_state *mrb, const uint8_t *bin, mrb_irep *irep, size_t *len) { size_t i, fname_len, niseq; - char *fname; - uint16_t *lines; *len = 0; bin += sizeof(uint32_t); /* record size */ @@ -228,9 +227,6 @@ read_lineno_record_1(mrb_state *mrb, const uint8_t *bin, mrb_irep *irep, size_t fname_len = bin_to_uint16(bin); bin += sizeof(uint16_t); *len += sizeof(uint16_t); - fname = (char *)mrb_malloc(mrb, fname_len + 1); - memcpy(fname, bin, fname_len); - fname[fname_len] = '\0'; bin += fname_len; *len += fname_len; @@ -241,15 +237,11 @@ read_lineno_record_1(mrb_state *mrb, const uint8_t *bin, mrb_irep *irep, size_t if (SIZE_ERROR_MUL(niseq, sizeof(uint16_t))) { return MRB_DUMP_GENERAL_FAILURE; } - lines = (uint16_t *)mrb_malloc(mrb, niseq * sizeof(uint16_t)); for (i = 0; i < niseq; i++) { - lines[i] = bin_to_uint16(bin); bin += sizeof(uint16_t); /* niseq */ *len += sizeof(uint16_t); } - irep->filename = fname; - irep->lines = lines; return MRB_DUMP_OK; } |
