// File: /workspace/github_c_makefile_star2_O1/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, 0x138f2(%rip)     # 0x16148
leaq 0xce53(%rip), %rax      # 0xf6b0
movq %rax, 0x138ec(%rip)     # 0x16150
xorl %r14d, %r14d
movb %r14b, 0x8(%rdi)
movb %r14b, 0x114(%rdi)
movw $0x0, 0x118(%rdi)
movq %r14, (%rdi)
leaq 0xce30(%rip), %rax      # 0xf6b5
movq %rax, 0x128(%rdi)
movl %r14d, 0x124(%rdi)
movq %r14, 0x150(%rdi)
callq 0x2ea9
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 0xdcb4
leaq 0x170(%rbx), %rdi
movl $0x8, %esi
callq 0xdcb4
leaq 0x198(%rbx), %r14
movl $0x8, %esi
movq %r14, %rdi
callq 0xdcb4
movl $0x100, %esi            # imm = 0x100
movq %r14, %rdi
callq 0xdeac
leaq 0x1b8(%rbx), %rdi
movl $0x4, %esi
callq 0xdcb4
leaq 0x1d8(%rbx), %rdi
movl $0x1, %esi
callq 0xdcb4
leaq 0x1f8(%rbx), %rdi
movl $0x8, %esi
callq 0xdcb4
leaq 0x218(%rbx), %rdi
movl $0x10, %esi
callq 0xdcb4
leaq 0x238(%rbx), %rdi
movl $0x8, %esi
callq 0xdcb4
leaq 0x258(%rbx), %rdi
movl $0x8, %esi
callq 0xdcb4
leaq 0x278(%rbx), %rdi
movl $0x8, %esi
callq 0xdcb4
leaq 0x298(%rbx), %rdi
movl $0x4, %esi
callq 0xdcb4
leaq 0x2b8(%rbx), %rdi
movl $0x2110, %esi           # imm = 0x2110
callq 0xdcb4
leaq 0xce1e(%rip), %rsi      # 0xf7ce
leaq 0x3120(%rip), %rdx      # 0x5ad7
movq %rbx, %rdi
callq 0x27bc
leaq 0xce12(%rip), %rsi      # 0xf7d8
leaq 0x3193(%rip), %rdx      # 0x5b60
movq %rbx, %rdi
callq 0x27bc
leaq 0xce08(%rip), %rsi      # 0xf7e4
leaq 0x31ee(%rip), %rdx      # 0x5bd1
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdfd(%rip), %rsi      # 0xf7ef
leaq 0x3285(%rip), %rdx      # 0x5c7e
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdf3(%rip), %rsi      # 0xf7fb
leaq 0x331a(%rip), %rdx      # 0x5d29
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdec(%rip), %rsi      # 0xf80a
leaq 0x335d(%rip), %rdx      # 0x5d82
movq %rbx, %rdi
callq 0x27bc
leaq 0xcde1(%rip), %rsi      # 0xf815
leaq 0x33d2(%rip), %rdx      # 0x5e0d
movq %rbx, %rdi
callq 0x27bc
leaq 0xcde4(%rip), %rsi      # 0xf82e
leaq 0x3414(%rip), %rdx      # 0x5e65
movq %rbx, %rdi
callq 0x27bc
leaq 0xcde5(%rip), %rsi      # 0xf845
leaq 0x3464(%rip), %rdx      # 0x5ecb
movq %rbx, %rdi
callq 0x27bc
leaq 0xcde4(%rip), %rsi      # 0xf85a
leaq 0x3635(%rip), %rdx      # 0x60b2
movq %rbx, %rdi
callq 0x27bc
leaq 0xcddc(%rip), %rsi      # 0xf868
leaq 0x3698(%rip), %rdx      # 0x612b
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdd7(%rip), %rsi      # 0xf879
leaq 0x3707(%rip), %rdx      # 0x61b0
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdd2(%rip), %rsi      # 0xf88a
leaq 0x3776(%rip), %rdx      # 0x6235
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdcf(%rip), %rsi      # 0xf89d
leaq 0x37e5(%rip), %rdx      # 0x62ba
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdcc(%rip), %rsi      # 0xf8b0
leaq 0x3854(%rip), %rdx      # 0x633f
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdcb(%rip), %rsi      # 0xf8c5
leaq 0x3957(%rip), %rdx      # 0x6458
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdc7(%rip), %rsi      # 0xf8d7
leaq 0x39e4(%rip), %rdx      # 0x64fb
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdc4(%rip), %rsi      # 0xf8ea
leaq 0x3a53(%rip), %rdx      # 0x6580
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdc2(%rip), %rsi      # 0xf8fe
leaq 0x3ac2(%rip), %rdx      # 0x6605
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdbd(%rip), %rsi      # 0xf90f
leaq 0x3b2e(%rip), %rdx      # 0x6687
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdb5(%rip), %rsi      # 0xf91d
leaq 0x3ba7(%rip), %rdx      # 0x6716
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdbd(%rip), %rsi      # 0xf93b
leaq 0x3c01(%rip), %rdx      # 0x6786
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdba(%rip), %rsi      # 0xf94e
leaq 0x3c7d(%rip), %rdx      # 0x6818
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdb7(%rip), %rsi      # 0xf961
leaq 0x3cbd(%rip), %rdx      # 0x686e
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdb2(%rip), %rsi      # 0xf972
leaq 0x3d90(%rip), %rdx      # 0x6957
movq %rbx, %rdi
callq 0x27bc
leaq 0xcdaf(%rip), %rsi      # 0xf985
leaq 0x3e6e(%rip), %rdx      # 0x6a4b
movq %rbx, %rdi
callq 0x27bc
leaq 0xcda4(%rip), %rsi      # 0xf990
leaq 0x3fb3(%rip), %rdx      # 0x6ba6
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd9c(%rip), %rsi      # 0xf99e
leaq 0x4035(%rip), %rdx      # 0x6c3e
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd97(%rip), %rsi      # 0xf9af
leaq 0x40b0(%rip), %rdx      # 0x6ccf
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd8f(%rip), %rsi      # 0xf9bd
leaq 0x412d(%rip), %rdx      # 0x6d62
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd92(%rip), %rsi      # 0xf9d6
leaq 0x41aa(%rip), %rdx      # 0x6df5
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd8c(%rip), %rsi      # 0xf9e6
leaq 0x421a(%rip), %rdx      # 0x6e7b
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd84(%rip), %rsi      # 0xf9f4
leaq 0x42f5(%rip), %rdx      # 0x6f6c
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd7d(%rip), %rsi      # 0xfa03
leaq 0x43cd(%rip), %rdx      # 0x705a
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd7d(%rip), %rsi      # 0xfa19
leaq 0x4458(%rip), %rdx      # 0x70fb
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd7a(%rip), %rsi      # 0xfa2c
leaq 0x44c1(%rip), %rdx      # 0x717a
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd72(%rip), %rsi      # 0xfa3a
leaq 0x451b(%rip), %rdx      # 0x71ea
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd6e(%rip), %rsi      # 0xfa4c
leaq 0x455b(%rip), %rdx      # 0x7240
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd6d(%rip), %rsi      # 0xfa61
leaq 0x45e0(%rip), %rdx      # 0x72db
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd6a(%rip), %rsi      # 0xfa74
leaq 0x4665(%rip), %rdx      # 0x7376
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd67(%rip), %rsi      # 0xfa87
leaq 0x46d0(%rip), %rdx      # 0x73f7
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd69(%rip), %rsi      # 0xfa9f
leaq 0x475c(%rip), %rdx      # 0x7499
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd68(%rip), %rsi      # 0xfab4
leaq 0x47e3(%rip), %rdx      # 0x7536
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd5d(%rip), %rsi      # 0xfabf
leaq 0x4814(%rip), %rdx      # 0x757d
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd51(%rip), %rsi      # 0xfac9
leaq 0x484c(%rip), %rdx      # 0x75cb
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd4a(%rip), %rsi      # 0xfad8
leaq 0x4891(%rip), %rdx      # 0x7626
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd43(%rip), %rsi      # 0xfae7
leaq 0x48c8(%rip), %rdx      # 0x7673
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd3e(%rip), %rsi      # 0xfaf8
leaq 0x4905(%rip), %rdx      # 0x76c6
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd39(%rip), %rsi      # 0xfb09
leaq 0x494d(%rip), %rdx      # 0x7724
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd2d(%rip), %rsi      # 0xfb13
leaq 0x4983(%rip), %rdx      # 0x7770
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd22(%rip), %rsi      # 0xfb1e
leaq 0x4988(%rip), %rdx      # 0x778b
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd12(%rip), %rsi      # 0xfb24
leaq 0x49d0(%rip), %rdx      # 0x77e9
movq %rbx, %rdi
callq 0x27bc
leaq 0xcd01(%rip), %rsi      # 0xfb29
leaq 0x4a1b(%rip), %rdx      # 0x784a
movq %rbx, %rdi
callq 0x27bc
leaq 0xccfc(%rip), %rsi      # 0xfb3a
leaq 0x4a7f(%rip), %rdx      # 0x78c4
movq %rbx, %rdi
callq 0x27bc
leaq 0xccf6(%rip), %rsi      # 0xfb4a
leaq 0x4a84(%rip), %rdx      # 0x78df
movq %rbx, %rdi
callq 0x27bc
leaq 0xccf1(%rip), %rsi      # 0xfb5b
leaq 0x4ae7(%rip), %rdx      # 0x7958
movq %rbx, %rdi
callq 0x27bc
leaq 0xccea(%rip), %rsi      # 0xfb6a
leaq 0x4b19(%rip), %rdx      # 0x79a0
movq %rbx, %rdi
callq 0x27bc
leaq 0xcce2(%rip), %rsi      # 0xfb78
leaq 0x4b75(%rip), %rdx      # 0x7a12
movq %rbx, %rdi
popq %rbx
popq %r14
popq %rbp
jmp 0x27bc