<commit_before>/* ************************************************************************ */
/*																			*/
/*	Neko VM source															*/
/*  (c)2005 <NAME>												*/
/*																			*/
/* ************************************************************************ */
#include "neko.h"
#include "objtable.h"
#include "load.h"
#include "vmcontext.h"
#ifdef _WIN32
#	define GC_DLL
#	define GC_THREADS
#	define GC_WIN32_THREADS
#endif
#include "gc/gc.h"

static val_type t_null = VAL_NULL;
static val_type t_true = VAL_BOOL;
static val_type t_false = VAL_BOOL;
static val_type t_array = VAL_ARRAY;
EXTERN value val_null = (value)&t_null;
EXTERN value val_true = (value)&t_true;
EXTERN value val_false = (value)&t_false;
static value empty_array = (value)&t_array;
static vstring empty_string = { VAL_STRING, 0 };

static void null_warn_proc( char *msg, int arg ) {
}

void neko_gc_init() {
	GC_no_dls = 1;
	GC_dont_expand = 1;
	GC_clear_roots();
	GC_set_warn_proc(null_warn_proc);
}

void neko_gc_loop() {
	GC_collect_a_little();
}

void neko_gc_major() {
	GC_gcollect();
}

EXTERN char *alloc( unsigned int nbytes ) {
	return GC_MALLOC(nbytes);
}

EXTERN char *alloc_private( unsigned int nbytes ) {
	return GC_MALLOC_ATOMIC(nbytes);
}
<commit_msg>gc api.<commit_after>/* ************************************************************************ */
/*																			*/
/*	Neko VM source															*/
/*  (c)2005 <NAME>												*/
/*																			*/
/* ************************************************************************ */
#include "neko.h"
#include "objtable.h"
#include "load.h"
#include "vmcontext.h"
#ifdef _WIN32
#	define GC_DLL
#	define GC_THREADS
#	define GC_WIN32_THREADS
#endif
#include "gc/gc.h"

static val_type t_null = VAL_NULL;
static val_type t_true = VAL_BOOL;
static val_type t_false = VAL_BOOL;
static val_type t_array = VAL_ARRAY;
EXTERN value val_null = (value)&t_null;
EXTERN value val_true = (value)&t_true;
EXTERN value val_false = (value)&t_false;
static value empty_array = (value)&t_array;
static vstring empty_string = { VAL_STRING, 0 };

static void null_warn_proc( char *msg, int arg ) {
}

void neko_gc_init() {
	GC_no_dls = 1;
	GC_dont_expand = 1;
	GC_clear_roots();
	GC_set_warn_proc(null_warn_proc);
}

EXTERN void neko_gc_loop() {
	GC_collect_a_little();
}

EXTERN void neko_gc_major() {
	GC_gcollect();
}

EXTERN char *alloc( unsigned int nbytes ) {
	return GC_MALLOC(nbytes);
}

EXTERN char *alloc_private( unsigned int nbytes ) {
	return GC_MALLOC_ATOMIC(nbytes);
}

{'fraction_non_alphanumeric': 0.22383949645948073, 'fraction_numerical': 0.00865460267505901, 'mean_word_length': 4.286902286902287, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4168951', 'n_tokens_mistral': 1040, 'n_tokens_neox': 899, 'n_words': 201}