// File: /workspace/github_c_makefile_star2_O3/goodpaul6[P]generic/script.c
// Function: script_init
void script_init(script_t* script)
{
	g_line = 1;
	g_file = "none";

	init_debug_env(&script->debug_env);

	script->atomic_depth = 0;
	
	script->userdata = NULL;
	script->in_extern = 0;
	
	script->cur_file = "unknown";
	script->cur_line = 0;
	
	script->heap_head = NULL;
	add_heap_block(script);

	script->gc_head = NULL;
	script->ret_val = NULL;
	
	script->num_objects = 0;
	script->max_objects_until_gc = INIT_GC_THRESH;
	script->pc = -1;
	script->fp = 0;
	
	script->indir_depth = 0;

	vec_init(&script->call_records, sizeof(script_call_record_t));

	vec_init(&script->globals, sizeof(script_value_t*));
	
	vec_init(&script->stack, sizeof(script_value_t*));
	vec_reserve(&script->stack, STACK_SIZE);

	vec_init(&script->indir, sizeof(int));
	
	vec_init(&script->code, sizeof(word));
	
	vec_init(&script->numbers, sizeof(double));
	vec_init(&script->strings, sizeof(script_string_t));

	vec_init(&script->extern_names, sizeof(char*));
	vec_init(&script->externs, sizeof(script_extern_t));
	
	vec_init(&script->function_names, sizeof(char*));
	vec_init(&script->function_pcs, sizeof(int));

	vec_init(&script->modules, sizeof(script_module_t));

	bind_default_externs(script);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl $0x1, 0x138ea(%rip)     # 0x16150
leaq 0xce43(%rip), %rax      # 0xf6b0
movq %rax, 0x138e4(%rip)     # 0x16158
xorl %r14d, %r14d
movb %r14b, 0x8(%rdi)
movb %r14b, 0x114(%rdi)
movw $0x0, 0x118(%rdi)
movq %r14, (%rdi)
leaq 0xce20(%rip), %rax      # 0xf6b5
movq %rax, 0x128(%rdi)
movl %r14d, 0x124(%rdi)
movq %r14, 0x150(%rdi)
callq 0x2eb9
xorps %xmm0, %xmm0
movups %xmm0, 0x158(%rbx)
movabsq $0x4000000000, %rax     # imm = 0x4000000000
movq %rax, 0x168(%rbx)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x11c(%rbx)
movl %r14d, 0x190(%rbx)
leaq 0x130(%rbx), %rdi
movl $0x30, %esi
callq 0xda7c
leaq 0x170(%rbx), %rdi
movl $0x8, %esi
callq 0xda7c
leaq 0x198(%rbx), %r14
movl $0x8, %esi
movq %r14, %rdi
callq 0xda7c
movl $0x100, %esi            # imm = 0x100
movq %r14, %rdi
callq 0xdc77
leaq 0x1b8(%rbx), %rdi
movl $0x4, %esi
callq 0xda7c
leaq 0x1d8(%rbx), %rdi
movl $0x1, %esi
callq 0xda7c
leaq 0x1f8(%rbx), %rdi
movl $0x8, %esi
callq 0xda7c
leaq 0x218(%rbx), %rdi
movl $0x10, %esi
callq 0xda7c
leaq 0x238(%rbx), %rdi
movl $0x8, %esi
callq 0xda7c
leaq 0x258(%rbx), %rdi
movl $0x8, %esi
callq 0xda7c
leaq 0x278(%rbx), %rdi
movl $0x8, %esi
callq 0xda7c
leaq 0x298(%rbx), %rdi
movl $0x4, %esi
callq 0xda7c
leaq 0x2b8(%rbx), %rdi
movl $0x2110, %esi           # imm = 0x2110
callq 0xda7c
leaq 0xce0e(%rip), %rsi      # 0xf7ce
leaq 0x3117(%rip), %rdx      # 0x5ade
movq %rbx, %rdi
callq 0x27cc
leaq 0xce02(%rip), %rsi      # 0xf7d8
leaq 0x318a(%rip), %rdx      # 0x5b67
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdf8(%rip), %rsi      # 0xf7e4
leaq 0x31e5(%rip), %rdx      # 0x5bd8
movq %rbx, %rdi
callq 0x27cc
leaq 0xcded(%rip), %rsi      # 0xf7ef
leaq 0x327c(%rip), %rdx      # 0x5c85
movq %rbx, %rdi
callq 0x27cc
leaq 0xcde3(%rip), %rsi      # 0xf7fb
leaq 0x3311(%rip), %rdx      # 0x5d30
movq %rbx, %rdi
callq 0x27cc
leaq 0xcddc(%rip), %rsi      # 0xf80a
leaq 0x3354(%rip), %rdx      # 0x5d89
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdd1(%rip), %rsi      # 0xf815
leaq 0x33c9(%rip), %rdx      # 0x5e14
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdd4(%rip), %rsi      # 0xf82e
leaq 0x3408(%rip), %rdx      # 0x5e69
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdd5(%rip), %rsi      # 0xf845
leaq 0x3458(%rip), %rdx      # 0x5ecf
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdd4(%rip), %rsi      # 0xf85a
leaq 0x3629(%rip), %rdx      # 0x60b6
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdcc(%rip), %rsi      # 0xf868
leaq 0x368c(%rip), %rdx      # 0x612f
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdc7(%rip), %rsi      # 0xf879
leaq 0x36fb(%rip), %rdx      # 0x61b4
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdc2(%rip), %rsi      # 0xf88a
leaq 0x376a(%rip), %rdx      # 0x6239
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdbf(%rip), %rsi      # 0xf89d
leaq 0x37d9(%rip), %rdx      # 0x62be
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdbc(%rip), %rsi      # 0xf8b0
leaq 0x3848(%rip), %rdx      # 0x6343
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdbb(%rip), %rsi      # 0xf8c5
leaq 0x394b(%rip), %rdx      # 0x645c
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdb7(%rip), %rsi      # 0xf8d7
leaq 0x39d8(%rip), %rdx      # 0x64ff
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdb4(%rip), %rsi      # 0xf8ea
leaq 0x3a47(%rip), %rdx      # 0x6584
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdb2(%rip), %rsi      # 0xf8fe
leaq 0x3ab6(%rip), %rdx      # 0x6609
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdad(%rip), %rsi      # 0xf90f
leaq 0x3b22(%rip), %rdx      # 0x668b
movq %rbx, %rdi
callq 0x27cc
leaq 0xcda5(%rip), %rsi      # 0xf91d
leaq 0x3b9b(%rip), %rdx      # 0x671a
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdad(%rip), %rsi      # 0xf93b
leaq 0x3bf5(%rip), %rdx      # 0x678a
movq %rbx, %rdi
callq 0x27cc
leaq 0xcdaa(%rip), %rsi      # 0xf94e
leaq 0x3c71(%rip), %rdx      # 0x681c
movq %rbx, %rdi
callq 0x27cc
leaq 0xcda7(%rip), %rsi      # 0xf961
leaq 0x3cb1(%rip), %rdx      # 0x6872
movq %rbx, %rdi
callq 0x27cc
leaq 0xcda2(%rip), %rsi      # 0xf972
leaq 0x3d84(%rip), %rdx      # 0x695b
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd9f(%rip), %rsi      # 0xf985
leaq 0x3e62(%rip), %rdx      # 0x6a4f
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd94(%rip), %rsi      # 0xf990
leaq 0x3fa3(%rip), %rdx      # 0x6ba6
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd8c(%rip), %rsi      # 0xf99e
leaq 0x4025(%rip), %rdx      # 0x6c3e
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd87(%rip), %rsi      # 0xf9af
leaq 0x40a0(%rip), %rdx      # 0x6ccf
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd7f(%rip), %rsi      # 0xf9bd
leaq 0x411d(%rip), %rdx      # 0x6d62
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd82(%rip), %rsi      # 0xf9d6
leaq 0x419a(%rip), %rdx      # 0x6df5
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd7c(%rip), %rsi      # 0xf9e6
leaq 0x420a(%rip), %rdx      # 0x6e7b
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd74(%rip), %rsi      # 0xf9f4
leaq 0x42de(%rip), %rdx      # 0x6f65
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd6d(%rip), %rsi      # 0xfa03
leaq 0x43b6(%rip), %rdx      # 0x7053
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd6d(%rip), %rsi      # 0xfa19
leaq 0x4441(%rip), %rdx      # 0x70f4
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd6a(%rip), %rsi      # 0xfa2c
leaq 0x44aa(%rip), %rdx      # 0x7173
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd62(%rip), %rsi      # 0xfa3a
leaq 0x4504(%rip), %rdx      # 0x71e3
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd5e(%rip), %rsi      # 0xfa4c
leaq 0x4544(%rip), %rdx      # 0x7239
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd5d(%rip), %rsi      # 0xfa61
leaq 0x45c9(%rip), %rdx      # 0x72d4
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd5a(%rip), %rsi      # 0xfa74
leaq 0x464e(%rip), %rdx      # 0x736f
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd57(%rip), %rsi      # 0xfa87
leaq 0x46b9(%rip), %rdx      # 0x73f0
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd59(%rip), %rsi      # 0xfa9f
leaq 0x4745(%rip), %rdx      # 0x7492
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd58(%rip), %rsi      # 0xfab4
leaq 0x47cc(%rip), %rdx      # 0x752f
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd4d(%rip), %rsi      # 0xfabf
leaq 0x47fd(%rip), %rdx      # 0x7576
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd41(%rip), %rsi      # 0xfac9
leaq 0x4835(%rip), %rdx      # 0x75c4
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd3a(%rip), %rsi      # 0xfad8
leaq 0x487a(%rip), %rdx      # 0x761f
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd33(%rip), %rsi      # 0xfae7
leaq 0x48b1(%rip), %rdx      # 0x766c
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd2e(%rip), %rsi      # 0xfaf8
leaq 0x48ee(%rip), %rdx      # 0x76bf
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd29(%rip), %rsi      # 0xfb09
leaq 0x4936(%rip), %rdx      # 0x771d
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd1d(%rip), %rsi      # 0xfb13
leaq 0x496c(%rip), %rdx      # 0x7769
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd12(%rip), %rsi      # 0xfb1e
leaq 0x4971(%rip), %rdx      # 0x7784
movq %rbx, %rdi
callq 0x27cc
leaq 0xcd02(%rip), %rsi      # 0xfb24
leaq 0x49b9(%rip), %rdx      # 0x77e2
movq %rbx, %rdi
callq 0x27cc
leaq 0xccf1(%rip), %rsi      # 0xfb29
leaq 0x4a04(%rip), %rdx      # 0x7843
movq %rbx, %rdi
callq 0x27cc
leaq 0xccec(%rip), %rsi      # 0xfb3a
leaq 0x4a68(%rip), %rdx      # 0x78bd
movq %rbx, %rdi
callq 0x27cc
leaq 0xcce6(%rip), %rsi      # 0xfb4a
leaq 0x4a6d(%rip), %rdx      # 0x78d8
movq %rbx, %rdi
callq 0x27cc
leaq 0xcce1(%rip), %rsi      # 0xfb5b
leaq 0x4ad0(%rip), %rdx      # 0x7951
movq %rbx, %rdi
callq 0x27cc
leaq 0xccda(%rip), %rsi      # 0xfb6a
leaq 0x4b02(%rip), %rdx      # 0x7999
movq %rbx, %rdi
callq 0x27cc
leaq 0xccd2(%rip), %rsi      # 0xfb78
leaq 0x4b5e(%rip), %rdx      # 0x7a0b
movq %rbx, %rdi
popq %rbx
popq %r14
popq %rbp
jmp 0x27cc