-
Notifications
You must be signed in to change notification settings - Fork 138
/
core_thunks.c
64 lines (47 loc) · 1.31 KB
/
core_thunks.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* ex: set ro ft=c:
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
*
* This file is generated automatically by tools/dev/nci_thunk_gen.pir
*
* Any changes made here will be lost!
*
*/
/* src/nci/core_thunks.c
* Copyright (C) 2010, Parrot Foundation.
* Overview:
* Native Call Interface routines. The code needed to build a
* parrot to C call frame is in here
* Data Structure and Algorithms:
* History:
* Notes:
* References:
*/
#include "parrot/parrot.h"
#include "parrot/nci.h"
#include "pmc/pmc_nci.h"
#ifdef PARROT_IN_EXTENSION
/* external libraries can't have strings statically compiled into parrot */
# define CONST_STRING(i, s) Parrot_str_new_constant((i), (s))
#else
# include "core_thunks.str"
#endif
/* HEADERIZER HFILE: none */
/* HEADERIZER STOP */
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
void
Parrot_nci_load_core_thunks(PARROT_INTERP)
{
PMC * const iglobals = interp->iglobals;
PMC *nci_funcs;
PMC *temp_pmc;
PARROT_ASSERT(!(PMC_IS_NULL(iglobals)));
nci_funcs = VTABLE_get_pmc_keyed_int(interp, iglobals, IGLOBALS_NCI_FUNCS);
PARROT_ASSERT(!(PMC_IS_NULL(nci_funcs)));
}
/*
* Local variables:
* c-file-style: "parrot"
* End:
* vim: expandtab shiftwidth=4 cinoptions='\:2=2' :
*/