8
8
9
9
10
10
CAMLprim value
11
- caml_binaryen_set_memory (value _module , value _initial , value _maximum , value _exportName , value _segments , value _segmentPassive , value _segmentOffsets , value _segmentSizes , value _shared , value _memory64 , value _memoryName ) {
12
- CAMLparam5 (_module , _initial , _maximum , _exportName , _segments );
13
- CAMLxparam5 (_segmentPassive , _segmentOffsets , _segmentSizes , _shared , _memory64 );
14
- CAMLxparam1 ( _memoryName );
11
+ caml_binaryen_set_memory (value _module , value _initial , value _maximum , value _exportName , value _segment_names , value _segment_data , value _segmentPassive , value _segmentOffsets , value _segmentSizes , value _shared , value _memory64 , value _memoryName ) {
12
+ CAMLparam5 (_module , _initial , _maximum , _exportName , _segment_names );
13
+ CAMLxparam5 (_segment_data , _segmentPassive , _segmentOffsets , _segmentSizes , _shared );
14
+ CAMLxparam2 ( _memory64 , _memoryName );
15
15
BinaryenModuleRef module = BinaryenModuleRef_val (_module );
16
16
BinaryenIndex initial = Int_val (_initial );
17
17
BinaryenIndex maximum = Int_val (_maximum );
18
18
char * exportName = Safe_String_val (_exportName );
19
- _segments = array_of_list (_segments );
20
- int segmentsLen = array_length (_segments );
21
- const char * segments [segmentsLen ];
22
- for (int i = 0 ; i < segmentsLen ; i ++ ) {
23
- segments [i ] = Safe_String_val (Field (_segments , i ));
19
+ _segment_names = array_of_list (_segment_names );
20
+ int segmentNamesLen = array_length (_segment_names );
21
+ const char * segment_names [segmentNamesLen ];
22
+ for (int i = 0 ; i < segmentNamesLen ; i ++ ) {
23
+ segment_names [i ] = Safe_String_val (Field (_segment_names , i ));
24
+ }
25
+ _segment_data = array_of_list (_segment_data );
26
+ int segmentDataLen = array_length (_segment_data );
27
+ const char * segment_data [segmentDataLen ];
28
+ for (int i = 0 ; i < segmentDataLen ; i ++ ) {
29
+ segment_data [i ] = Safe_String_val (Field (_segment_data , i ));
24
30
}
25
31
_segmentPassive = array_of_list (_segmentPassive );
26
32
int segmentPassiveLen = array_length (_segmentPassive );
@@ -43,12 +49,12 @@ caml_binaryen_set_memory(value _module, value _initial, value _maximum, value _e
43
49
bool shared = Bool_val (_shared );
44
50
bool memory64 = Bool_val (_memory64 );
45
51
char * memoryName = Safe_String_val (_memoryName );
46
- BinaryenSetMemory (module , initial , maximum , exportName , segments , segmentPassive , segmentOffsets , segmentSizes , segmentsLen , shared , memory64 , memoryName );
52
+ BinaryenSetMemory (module , initial , maximum , exportName , segment_names , segment_data , segmentPassive , segmentOffsets , segmentSizes , segmentNamesLen , shared , memory64 , memoryName );
47
53
CAMLreturn (Val_unit );
48
54
}
49
55
CAMLprim value
50
56
caml_binaryen_set_memory__bytecode (value * argv ) {
51
- return caml_binaryen_set_memory (argv [0 ], argv [1 ], argv [2 ], argv [3 ], argv [4 ], argv [5 ], argv [6 ], argv [7 ], argv [8 ], argv [9 ], argv [10 ]);
57
+ return caml_binaryen_set_memory (argv [0 ], argv [1 ], argv [2 ], argv [3 ], argv [4 ], argv [5 ], argv [6 ], argv [7 ], argv [8 ], argv [9 ], argv [10 ], argv [ 11 ] );
52
58
}
53
59
54
60
CAMLprim value
@@ -111,28 +117,28 @@ caml_binaryen_get_num_memory_segments(value _module) {
111
117
}
112
118
113
119
CAMLprim value
114
- caml_binaryen_get_memory_segment_byte_offset (value _module , value _id ) {
115
- CAMLparam2 (_module , _id );
120
+ caml_binaryen_get_memory_segment_byte_offset (value _module , value _name ) {
121
+ CAMLparam2 (_module , _name );
116
122
BinaryenModuleRef module = BinaryenModuleRef_val (_module );
117
- BinaryenIndex id = Int_val ( _id );
118
- CAMLreturn (Val_int (BinaryenGetMemorySegmentByteOffset (module , id )));
123
+ char * name = Safe_String_val ( _name );
124
+ CAMLreturn (Val_int (BinaryenGetMemorySegmentByteOffset (module , name )));
119
125
}
120
126
121
127
CAMLprim value
122
- caml_binaryen_get_memory_segment_passive (value _module , value _id ) {
123
- CAMLparam2 (_module , _id );
128
+ caml_binaryen_get_memory_segment_passive (value _module , value _name ) {
129
+ CAMLparam2 (_module , _name );
124
130
BinaryenModuleRef module = BinaryenModuleRef_val (_module );
125
- BinaryenIndex id = Int_val ( _id );
126
- CAMLreturn (Val_bool (BinaryenGetMemorySegmentPassive (module , id )));
131
+ char * name = Safe_String_val ( _name );
132
+ CAMLreturn (Val_bool (BinaryenGetMemorySegmentPassive (module , name )));
127
133
}
128
134
129
135
CAMLprim value
130
- caml_binaryen_get_memory_segment_data (value _module , value _id ) {
131
- CAMLparam2 (_module , _id );
136
+ caml_binaryen_get_memory_segment_data (value _module , value _name ) {
137
+ CAMLparam2 (_module , _name );
132
138
BinaryenModuleRef module = BinaryenModuleRef_val (_module );
133
- BinaryenIndex id = Int_val ( _id );
134
- size_t size = BinaryenGetMemorySegmentByteLength (module , id );
139
+ char * name = Safe_String_val ( _name );
140
+ size_t size = BinaryenGetMemorySegmentByteLength (module , name );
135
141
CAMLprim value bytes = caml_alloc_string (size );
136
- BinaryenCopyMemorySegmentData (module , id , (char * )Bytes_val (bytes ));
142
+ BinaryenCopyMemorySegmentData (module , name , (char * )Bytes_val (bytes ));
137
143
CAMLreturn (bytes );
138
144
}
0 commit comments