File: //usr/local/rvm/src/ruby-3.0.2/ast.rbinc
// -*- c -*-
// DO NOT MODIFY THIS FILE DIRECTLY.
// auto-generated file
// by ./tool/mk_builtin_loader.rb
// with ast.rb
#include "internal/compilers.h" /* for MAYBE_UNUSED */
#include "internal/warnings.h" /* for COMPILER_WARNING_PUSH */
#include "ruby/ruby.h" /* for VALUE */
#include "builtin.h" /* for RB_BUILTIN_FUNCTION */
struct rb_execution_context_struct; /* in vm_core.h */
static void
mjit_compile_invokebuiltin_for_ast_s_parse(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE, VALUE);\n");
if (index == -1) {
fprintf(f, " const VALUE *argv = &stack[%d];\n", stack_size - 1);
}
else {
fprintf(f, " const unsigned int lnum = GET_ISEQ()->body->local_table_size;\n");
fprintf(f, " const VALUE *argv = GET_EP() - lnum - VM_ENV_DATA_SIZE + 1 + %ld;\n", index);
}
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_s_parse */\n", (intptr_t)ast_s_parse);
fprintf(f, " val = f(ec, self, argv[0]);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_s_parse_file(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE, VALUE);\n");
if (index == -1) {
fprintf(f, " const VALUE *argv = &stack[%d];\n", stack_size - 1);
}
else {
fprintf(f, " const unsigned int lnum = GET_ISEQ()->body->local_table_size;\n");
fprintf(f, " const VALUE *argv = GET_EP() - lnum - VM_ENV_DATA_SIZE + 1 + %ld;\n", index);
}
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_s_parse_file */\n", (intptr_t)ast_s_parse_file);
fprintf(f, " val = f(ec, self, argv[0]);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_s_of(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE, VALUE);\n");
if (index == -1) {
fprintf(f, " const VALUE *argv = &stack[%d];\n", stack_size - 1);
}
else {
fprintf(f, " const unsigned int lnum = GET_ISEQ()->body->local_table_size;\n");
fprintf(f, " const VALUE *argv = GET_EP() - lnum - VM_ENV_DATA_SIZE + 1 + %ld;\n", index);
}
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_s_of */\n", (intptr_t)ast_s_of);
fprintf(f, " val = f(ec, self, argv[0]);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_node_type(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE);\n");
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_node_type */\n", (intptr_t)ast_node_type);
fprintf(f, " val = f(ec, self);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_node_first_lineno(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE);\n");
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_node_first_lineno */\n", (intptr_t)ast_node_first_lineno);
fprintf(f, " val = f(ec, self);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_node_first_column(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE);\n");
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_node_first_column */\n", (intptr_t)ast_node_first_column);
fprintf(f, " val = f(ec, self);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_node_last_lineno(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE);\n");
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_node_last_lineno */\n", (intptr_t)ast_node_last_lineno);
fprintf(f, " val = f(ec, self);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_node_last_column(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE);\n");
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_node_last_column */\n", (intptr_t)ast_node_last_column);
fprintf(f, " val = f(ec, self);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_node_children(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE);\n");
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_node_children */\n", (intptr_t)ast_node_children);
fprintf(f, " val = f(ec, self);\n");
}
static void
mjit_compile_invokebuiltin_for_ast_node_inspect(FILE *f, long index, unsigned stack_size, bool inlinable_p)
{
fprintf(f, " VALUE self = GET_SELF();\n");
fprintf(f, " typedef VALUE (*func)(rb_execution_context_t *, VALUE);\n");
fprintf(f, " func f = (func)%"PRIdPTR"; /* == ast_node_inspect */\n", (intptr_t)ast_node_inspect);
fprintf(f, " val = f(ec, self);\n");
}
void Init_builtin_ast(void)
{
// table definition
static const struct rb_builtin_function ast_table[] = {
RB_BUILTIN_FUNCTION(0, ast_s_parse, ast_s_parse, 1, mjit_compile_invokebuiltin_for_ast_s_parse),
RB_BUILTIN_FUNCTION(1, ast_s_parse_file, ast_s_parse_file, 1, mjit_compile_invokebuiltin_for_ast_s_parse_file),
RB_BUILTIN_FUNCTION(2, ast_s_of, ast_s_of, 1, mjit_compile_invokebuiltin_for_ast_s_of),
RB_BUILTIN_FUNCTION(3, ast_node_type, ast_node_type, 0, mjit_compile_invokebuiltin_for_ast_node_type),
RB_BUILTIN_FUNCTION(4, ast_node_first_lineno, ast_node_first_lineno, 0, mjit_compile_invokebuiltin_for_ast_node_first_lineno),
RB_BUILTIN_FUNCTION(5, ast_node_first_column, ast_node_first_column, 0, mjit_compile_invokebuiltin_for_ast_node_first_column),
RB_BUILTIN_FUNCTION(6, ast_node_last_lineno, ast_node_last_lineno, 0, mjit_compile_invokebuiltin_for_ast_node_last_lineno),
RB_BUILTIN_FUNCTION(7, ast_node_last_column, ast_node_last_column, 0, mjit_compile_invokebuiltin_for_ast_node_last_column),
RB_BUILTIN_FUNCTION(8, ast_node_children, ast_node_children, 0, mjit_compile_invokebuiltin_for_ast_node_children),
RB_BUILTIN_FUNCTION(9, ast_node_inspect, ast_node_inspect, 0, mjit_compile_invokebuiltin_for_ast_node_inspect),
RB_BUILTIN_FUNCTION(-1, NULL, NULL, 0, 0),
};
// arity_check
COMPILER_WARNING_PUSH
#if GCC_VERSION_SINCE(5, 1, 0) || __clang__
COMPILER_WARNING_ERROR(-Wincompatible-pointer-types)
#endif
if (0) rb_builtin_function_check_arity1(ast_s_parse);
if (0) rb_builtin_function_check_arity1(ast_s_parse_file);
if (0) rb_builtin_function_check_arity1(ast_s_of);
if (0) rb_builtin_function_check_arity0(ast_node_type);
if (0) rb_builtin_function_check_arity0(ast_node_first_lineno);
if (0) rb_builtin_function_check_arity0(ast_node_first_column);
if (0) rb_builtin_function_check_arity0(ast_node_last_lineno);
if (0) rb_builtin_function_check_arity0(ast_node_last_column);
if (0) rb_builtin_function_check_arity0(ast_node_children);
if (0) rb_builtin_function_check_arity0(ast_node_inspect);
COMPILER_WARNING_POP
// load
rb_load_with_builtin_functions("ast", ast_table);
}