Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions tslang/include/TypeScript/gcwrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ void *_mlir__GC_malloc_explicitly_typed(size_t size, int64_t descr);

int64_t _mlir__GC_make_descriptor(const int64_t *descr, size_t size);

int _mlir__GC_general_register_disappearing_link(void **link, const void *obj);

int _mlir__GC_unregister_disappearing_link(void **link);

void _mlir__GC_gcollect();

#ifdef __cplusplus
}
#endif
3 changes: 3 additions & 0 deletions tslang/lib/TypeScriptRuntime/TypeScriptRuntime.def
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ EXPORTS
GC_remove_roots=_mlir__GC_remove_roots
GC_malloc_explicitly_typed=_mlir__GC_malloc_explicitly_typed
GC_make_descriptor=_mlir__GC_make_descriptor
GC_general_register_disappearing_link=_mlir__GC_general_register_disappearing_link
GC_unregister_disappearing_link=_mlir__GC_unregister_disappearing_link
GC_gcollect=_mlir__GC_gcollect

; --- memory runtime (MemRuntime.cpp, extern "C") ---
_mlir_alloc=Alloc
Expand Down
15 changes: 15 additions & 0 deletions tslang/lib/TypeScriptRuntime/gc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,19 @@ void *_mlir__GC_malloc_explicitly_typed(size_t size, int64_t descr)
int64_t _mlir__GC_make_descriptor(const int64_t *descr, size_t size)
{
return GC_make_descriptor(reinterpret_cast<const GC_word *>(descr), size);
}

int _mlir__GC_general_register_disappearing_link(void **link, const void *obj)
{
return GC_general_register_disappearing_link(link, obj);
}

int _mlir__GC_unregister_disappearing_link(void **link)
{
return GC_unregister_disappearing_link(link);
}

void _mlir__GC_gcollect()
{
GC_gcollect();
}
Loading