@@ -152,7 +152,7 @@ caml_conv_heap_type(BinaryenHeapType heapType) {
152152
153153CAMLprim value caml_type_builder_build_and_dispose (value _builder ) {
154154 CAMLparam1 (_builder );
155- CAMLlocal4 (arr , ok , error , tuple );
155+ CAMLlocal5 (arr , ok , error , tuple , field );
156156 TypeBuilderRef builder = TypeBuilderRef_val (_builder );
157157 BinaryenIndex size = TypeBuilderGetSize (builder );
158158 BinaryenHeapType heapTypes [size + 1 ];
@@ -163,17 +163,18 @@ CAMLprim value caml_type_builder_build_and_dispose(value _builder) {
163163 if (success ) {
164164 arr = caml_alloc (size , 0 );
165165 for (mlsize_t i = 0 ; i < (mlsize_t )size ; i ++ ) {
166- Field (arr , i ) = alloc_BinaryenHeapType (heapTypes [i ]);
166+ field = alloc_BinaryenHeapType (heapTypes [i ]);
167+ Store_field (arr , i , field );
167168 }
168169 ok = caml_alloc_small (1 , 0 );
169- Field (ok , 0 ) = arr ;
170+ Store_field (ok , 0 , arr ) ;
170171 CAMLreturn (ok );
171172 } else {
172173 error = caml_alloc_small (1 , 1 );
173174 tuple = caml_alloc_small (2 , 0 );
174175 Field (tuple , 0 ) = Val_int (errorIndex );
175176 Field (tuple , 1 ) = Val_int (errorReason );
176- Field (error , 0 ) = tuple ;
177+ Store_field (error , 0 , tuple ) ;
177178 CAMLreturn (error );
178179 }
179180}
0 commit comments