Skip to content

Commit 3e1532c

Browse files
committed
Unification refactor
1 parent 94e0063 commit 3e1532c

19 files changed

+36
-72
lines changed

include/mrc_ccontext.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
MRC_BEGIN_DECL
1111

12-
#include "prism.h" // in lib/prism/include
1312
typedef pm_node_t mrc_node;
1413
typedef pm_parser_t mrc_parser_state;
1514
typedef pm_constant_id_list_t mrc_constant_id_list;

include/mrc_codedump.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#ifndef MRC_CODEDUMP_H
22
#define MRC_CODEDUMP_H
33

4+
#include "mrc_ccontext.h"
5+
46
MRC_BEGIN_DECL
57

68
#ifndef MRC_NO_STDIO

include/mrc_common.h

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,25 @@
66
#define MRC_STRINGIZE0(expr) #expr
77
#define MRC_STRINGIZE(expr) MRC_STRINGIZE0(expr)
88

9-
#ifdef MRC_TARGET_MRUBY
10-
# include <mruby.h>
11-
#else
12-
# define mrb_state void
9+
#if defined(PICORB_VM_MRUBY)
10+
#if !defined(MRC_TARGET_MRUBY)
11+
#define MRC_TARGET_MRUBY
12+
#endif
13+
#include <mruby.h>
14+
#endif
15+
#if defined(PICORB_VM_MRUBYC)
16+
#if !defined(MRC_TARGET_MRUBYC)
17+
#define MRC_TARGET_MRUBYC
18+
#endif
19+
#include <mrubyc.h>
20+
#define mrb_state void
1321
#endif
1422

23+
#if !defined(PRISM_XALLOCATOR)
24+
#define PRISM_XALLOCATOR
25+
#endif
26+
#include "prism.h"
27+
1528
#define MRC_RELEASE_YEAR 2024
1629
#define MRC_RELEASE_MONTH 9
1730
#define MRC_RELEASE_DAY 9
@@ -122,14 +135,6 @@ typedef uint8_t mrc_code;
122135
*/
123136
typedef uint32_t mrc_aspec;
124137

125-
#ifndef MRC_CUSTOM_ALLOC
126-
#include <stdlib.h>
127-
// #define mrc_malloc(c, size) malloc(size)
128-
// #define mrc_realloc(c, ptr, size) realloc(ptr, size)
129-
// #define mrc_calloc(c, nmemb, size) calloc(nmemb, size)
130-
// #define mrc_free(c, ptr) free(ptr)
131-
#endif
132-
133138
#ifdef MRC_DEBUG
134139
#include <assert.h>
135140
#define mrc_assert(p) assert(p)

include/mrc_diagnostic.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#ifndef MRC_DIAGNOSTIC_H
22
#define MRC_DIAGNOSTIC_H
33

4-
#include "mrc_common.h"
54
#include "mrc_ccontext.h"
65

76
MRC_BEGIN_DECL

include/mrc_dump.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#ifndef MRC_DUMP_H
22
#define MRC_DUMP_H
33

4-
#include "mrc_common.h"
54
#include "mrc_irep.h"
65
#include "mrc_ccontext.h"
76

include/mrc_irep.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#ifndef MRC_IREP_H
88
#define MRC_IREP_H
99

10-
#include "mrc_common.h"
1110
#include "mrc_ccontext.h"
1211

1312
/**

include/prism_xallocator.h

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
#define PRISM_CUSTOM_ALLOCATOR_H
33

44
#if defined(MRC_TARGET_MRUBY)
5-
#include <mruby.h>
6-
75
extern mrb_state *global_mrb;
86

97
#define xmalloc(size) mrb_malloc(global_mrb, size)
@@ -15,9 +13,23 @@
1513
#define mrc_calloc(c,nmemb,size) mrb_calloc(c->mrb, nmemb, size)
1614
#define mrc_realloc(c,ptr,size) mrb_realloc(c->mrb, ptr, size)
1715
#define mrc_free(c,ptr) mrb_free(c->mrb, ptr)
18-
#else
19-
#include <mrubyc.h>
20-
// TODO
16+
#elif defined(MRC_TARGET_MRUBYC)
17+
#if defined(MRBC_ALLOC_LIBC)
18+
#define mrc_malloc(c,size) malloc(size)
19+
#define mrc_calloc(c,nmemb,size) calloc(nmemb, size)
20+
#define mrc_realloc(c,ptr,size) realloc(ptr, size)
21+
#define mrc_free(c,ptr) free(ptr)
22+
#else
23+
#define xmalloc(size) mrbc_raw_alloc(size)
24+
#define xcalloc(nmemb,size) mrbc_raw_calloc(nmemb, size)
25+
#define xrealloc(ptr,size) mrbc_raw_realloc(ptr, size)
26+
#define xfree(ptr) mrbc_raw_free(ptr)
27+
28+
#define mrc_malloc(c,size) mrbc_raw_alloc(size)
29+
#define mrc_calloc(c,nmemb,size) mrbc_raw_calloc(nmemb, size)
30+
#define mrc_realloc(c,ptr,size) mrbc_raw_realloc(ptr, size)
31+
#define mrc_free(c,ptr) mrbc_raw_free(ptr)
32+
#endif
2133
#endif
2234

2335
#endif

mrbgem.rake

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ MRuby::Gem::Specification.new('mruby-compiler2') do |spec|
1212
cc.defines.flatten!
1313

1414
if cc.defines.include? "PICORB_VM_MRUBY"
15-
cc.defines << "MRC_TARGET_MRUBY"
1615
cc.include_paths << "#{build.gems['picoruby-mruby'].dir}/lib/mruby/include"
1716
end
1817

@@ -29,10 +28,6 @@ MRuby::Gem::Specification.new('mruby-compiler2') do |spec|
2928
cc.defines << "PRISM_BUILD_MINIMAL"
3029
end
3130

32-
if cc.defines.include? "MRC_CUSTOM_ALLOC"
33-
cc.defines << "PRISM_XALLOCATOR"
34-
end
35-
3631
prism_templates_dir = "#{lib_dir}/prism/templates"
3732
cc.include_paths << "#{prism_dir}/include"
3833

src/ccontext.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include <string.h>
2-
#include "../include/mrc_common.h"
32
#include "../include/mrc_ccontext.h"
43
#include "../include/mrc_parser_util.h"
54

src/cdump.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
#include <stdio.h>
88
#include <string.h>
9-
#include "../include/mrc_common.h"
109
#include "../include/mrc_ccontext.h"
1110
#include "../include/mrc_irep.h"
1211
#include "../include/mrc_dump.h"

src/codedump.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include <stdio.h>
22
#include <inttypes.h>
3-
#include "../include/mrc_common.h"
43
#include "../include/mrc_ccontext.h"
54
#include "../include/mrc_irep.h"
65
#include "../include/mrc_dump.h"

src/codegen.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11

22
#include <string.h>
3-
#include "../include/mrc_common.h"
43
#include "../include/mrc_irep.h"
54
#include "../include/mrc_ccontext.h"
65
#include "../include/mrc_parser_util.h"

src/compile.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include "../include/mrc_common.h"
21
#include "../include/mrc_parser_util.h"
32
#include "../include/mrc_irep.h"
43
#include "../include/mrc_ccontext.h"

src/custom_allocator.c

Lines changed: 0 additions & 36 deletions
This file was deleted.

src/debug.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include <string.h>
22
#include <stdint.h>
3-
#include "../include/mrc_common.h"
43
#include "../include/mrc_debug.h"
54

65
static mrc_irep_debug_info_file*

src/dump.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include <stdio.h>
2-
#include "../include/mrc_common.h"
32
#include "../include/mrc_ccontext.h"
43
#include "../include/mrc_irep.h"
54
#include "../include/mrc_dump.h"

src/irep.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include "../include/mrc_common.h"
21
#include "../include/mrc_irep.h"
32
#include "../include/mrc_debug.h"
43

src/mrc_presym.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include <string.h>
2-
#include "mrc_common.h"
32
#include "mrc_ccontext.h"
43

54
typedef struct {

src/pool.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
** See Copyright Notice in mruby.h
55
*/
66

7-
#include "../include/mrc_common.h"
87
#include "../include/mrc_ccontext.h"
98

109
/* configuration section */

0 commit comments

Comments
 (0)