// File: /workspace/github_c_makefile_star2_O2/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 %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x1, 0x11c32(%rip)     # 0x14150
leaq 0xb193(%rip), %rax      # 0xd6b8
movq %rax, 0x11c2c(%rip)     # 0x14158
xorl %eax, %eax
movb %al, 0x8(%rdi)
movb %al, 0x114(%rdi)
andw $0x0, 0x118(%rdi)
andq $0x0, (%rdi)
leaq 0xb173(%rip), %rax      # 0xd6bd
movq %rax, 0x128(%rdi)
andl $0x0, 0x124(%rdi)
andq $0x0, 0x150(%rdi)
callq 0x2b67
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)
andl $0x0, 0x190(%rbx)
leaq 0x130(%rbx), %rdi
pushq $0x30
popq %rsi
callq 0xbf0c
leaq 0x170(%rbx), %rdi
pushq $0x8
popq %r14
movq %r14, %rsi
callq 0xbf0c
leaq 0x198(%rbx), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xbf0c
movl $0x100, %esi            # imm = 0x100
movq %r15, %rdi
callq 0xc0f4
leaq 0x1b8(%rbx), %rdi
pushq $0x4
popq %r15
movq %r15, %rsi
callq 0xbf0c
leaq 0x1d8(%rbx), %rdi
pushq $0x1
popq %rsi
callq 0xbf0c
leaq 0x1f8(%rbx), %rdi
movq %r14, %rsi
callq 0xbf0c
leaq 0x218(%rbx), %rdi
pushq $0x10
popq %rsi
callq 0xbf0c
leaq 0x238(%rbx), %rdi
movq %r14, %rsi
callq 0xbf0c
leaq 0x258(%rbx), %rdi
movq %r14, %rsi
callq 0xbf0c
leaq 0x278(%rbx), %rdi
movq %r14, %rsi
callq 0xbf0c
leaq 0x298(%rbx), %rdi
movq %r15, %rsi
callq 0xbf0c
leaq 0x2b8(%rbx), %rdi
movl $0x2110, %esi           # imm = 0x2110
callq 0xbf0c
leaq 0xb16e(%rip), %rsi      # 0xd7d6
leaq 0x2de0(%rip), %rdx      # 0x544f
movq %rbx, %rdi
callq 0x2494
leaq 0xb162(%rip), %rsi      # 0xd7e0
leaq 0x2e3c(%rip), %rdx      # 0x54c1
movq %rbx, %rdi
callq 0x2494
leaq 0xb158(%rip), %rsi      # 0xd7ec
leaq 0x2e92(%rip), %rdx      # 0x552d
movq %rbx, %rdi
callq 0x2494
leaq 0xb14d(%rip), %rsi      # 0xd7f7
leaq 0x2efb(%rip), %rdx      # 0x55ac
movq %rbx, %rdi
callq 0x2494
leaq 0xb143(%rip), %rsi      # 0xd803
leaq 0x2f62(%rip), %rdx      # 0x5629
movq %rbx, %rdi
callq 0x2494
leaq 0xb13c(%rip), %rsi      # 0xd812
leaq 0x2f8e(%rip), %rdx      # 0x566b
movq %rbx, %rdi
callq 0x2494
leaq 0xb131(%rip), %rsi      # 0xd81d
leaq 0x3000(%rip), %rdx      # 0x56f3
movq %rbx, %rdi
callq 0x2494
leaq 0xb134(%rip), %rsi      # 0xd836
leaq 0x300f(%rip), %rdx      # 0x5718
movq %rbx, %rdi
callq 0x2494
leaq 0xb135(%rip), %rsi      # 0xd84d
leaq 0x3054(%rip), %rdx      # 0x5773
movq %rbx, %rdi
callq 0x2494
leaq 0xb134(%rip), %rsi      # 0xd862
leaq 0x31de(%rip), %rdx      # 0x5913
movq %rbx, %rdi
callq 0x2494
leaq 0xb12c(%rip), %rsi      # 0xd870
leaq 0x3217(%rip), %rdx      # 0x5962
movq %rbx, %rdi
callq 0x2494
leaq 0xb127(%rip), %rsi      # 0xd881
leaq 0x3266(%rip), %rdx      # 0x59c7
movq %rbx, %rdi
callq 0x2494
leaq 0xb122(%rip), %rsi      # 0xd892
leaq 0x32b5(%rip), %rdx      # 0x5a2c
movq %rbx, %rdi
callq 0x2494
leaq 0xb11f(%rip), %rsi      # 0xd8a5
leaq 0x3304(%rip), %rdx      # 0x5a91
movq %rbx, %rdi
callq 0x2494
leaq 0xb11c(%rip), %rsi      # 0xd8b8
leaq 0x3353(%rip), %rdx      # 0x5af6
movq %rbx, %rdi
callq 0x2494
leaq 0xb11b(%rip), %rsi      # 0xd8cd
leaq 0x3431(%rip), %rdx      # 0x5bea
movq %rbx, %rdi
callq 0x2494
leaq 0xb117(%rip), %rsi      # 0xd8df
leaq 0x3491(%rip), %rdx      # 0x5c60
movq %rbx, %rdi
callq 0x2494
leaq 0xb114(%rip), %rsi      # 0xd8f2
leaq 0x34e0(%rip), %rdx      # 0x5cc5
movq %rbx, %rdi
callq 0x2494
leaq 0xb112(%rip), %rsi      # 0xd906
leaq 0x352f(%rip), %rdx      # 0x5d2a
movq %rbx, %rdi
callq 0x2494
leaq 0xb10d(%rip), %rsi      # 0xd917
leaq 0x357d(%rip), %rdx      # 0x5d8e
movq %rbx, %rdi
callq 0x2494
leaq 0xb105(%rip), %rsi      # 0xd925
leaq 0x35b9(%rip), %rdx      # 0x5de0
movq %rbx, %rdi
callq 0x2494
leaq 0xb10d(%rip), %rsi      # 0xd943
leaq 0x35f2(%rip), %rdx      # 0x5e2f
movq %rbx, %rdi
callq 0x2494
leaq 0xb10a(%rip), %rsi      # 0xd956
leaq 0x363e(%rip), %rdx      # 0x5e91
movq %rbx, %rdi
callq 0x2494
leaq 0xb107(%rip), %rsi      # 0xd969
leaq 0x3673(%rip), %rdx      # 0x5edc
movq %rbx, %rdi
callq 0x2494
leaq 0xb102(%rip), %rsi      # 0xd97a
leaq 0x371c(%rip), %rdx      # 0x5f9b
movq %rbx, %rdi
callq 0x2494
leaq 0xb0ff(%rip), %rsi      # 0xd98d
leaq 0x37d2(%rip), %rdx      # 0x6067
movq %rbx, %rdi
callq 0x2494
leaq 0xb0f4(%rip), %rsi      # 0xd998
leaq 0x38db(%rip), %rdx      # 0x6186
movq %rbx, %rdi
callq 0x2494
leaq 0xb0ec(%rip), %rsi      # 0xd9a6
leaq 0x393c(%rip), %rdx      # 0x61fd
movq %rbx, %rdi
callq 0x2494
leaq 0xb0e7(%rip), %rsi      # 0xd9b7
leaq 0x3996(%rip), %rdx      # 0x626d
movq %rbx, %rdi
callq 0x2494
leaq 0xb0df(%rip), %rsi      # 0xd9c5
leaq 0x39f2(%rip), %rdx      # 0x62df
movq %rbx, %rdi
callq 0x2494
leaq 0xb0e2(%rip), %rsi      # 0xd9de
leaq 0x3a4e(%rip), %rdx      # 0x6351
movq %rbx, %rdi
callq 0x2494
leaq 0xb0dc(%rip), %rsi      # 0xd9ee
leaq 0x3a94(%rip), %rdx      # 0x63ad
movq %rbx, %rdi
callq 0x2494
leaq 0xb0d4(%rip), %rsi      # 0xd9fc
leaq 0x3b37(%rip), %rdx      # 0x6466
movq %rbx, %rdi
callq 0x2494
leaq 0xb0cd(%rip), %rsi      # 0xda0b
leaq 0x3beb(%rip), %rdx      # 0x6530
movq %rbx, %rdi
callq 0x2494
leaq 0xb0cd(%rip), %rsi      # 0xda21
leaq 0x3c53(%rip), %rdx      # 0x65ae
movq %rbx, %rdi
callq 0x2494
leaq 0xb0ca(%rip), %rsi      # 0xda34
leaq 0x3c9b(%rip), %rdx      # 0x660c
movq %rbx, %rdi
callq 0x2494
leaq 0xb0c2(%rip), %rsi      # 0xda42
leaq 0x3cd4(%rip), %rdx      # 0x665b
movq %rbx, %rdi
callq 0x2494
leaq 0xb0be(%rip), %rsi      # 0xda54
leaq 0x3d09(%rip), %rdx      # 0x66a6
movq %rbx, %rdi
callq 0x2494
leaq 0xb0bd(%rip), %rsi      # 0xda69
leaq 0x3d53(%rip), %rdx      # 0x6706
movq %rbx, %rdi
callq 0x2494
leaq 0xb0ba(%rip), %rsi      # 0xda7c
leaq 0x3d9d(%rip), %rdx      # 0x6766
movq %rbx, %rdi
callq 0x2494
leaq 0xb0b7(%rip), %rsi      # 0xda8f
leaq 0x3e03(%rip), %rdx      # 0x67e2
movq %rbx, %rdi
callq 0x2494
leaq 0xb0b9(%rip), %rsi      # 0xdaa7
leaq 0x3e88(%rip), %rdx      # 0x687d
movq %rbx, %rdi
callq 0x2494
leaq 0xb0b8(%rip), %rsi      # 0xdabc
leaq 0x3ee1(%rip), %rdx      # 0x68ec
movq %rbx, %rdi
callq 0x2494
leaq 0xb0ad(%rip), %rsi      # 0xdac7
leaq 0x3f0d(%rip), %rdx      # 0x692e
movq %rbx, %rdi
callq 0x2494
leaq 0xb0a1(%rip), %rsi      # 0xdad1
leaq 0x3f3b(%rip), %rdx      # 0x6972
movq %rbx, %rdi
callq 0x2494
leaq 0xb09a(%rip), %rsi      # 0xdae0
leaq 0x3f56(%rip), %rdx      # 0x69a3
movq %rbx, %rdi
callq 0x2494
leaq 0xb093(%rip), %rsi      # 0xdaef
leaq 0x3f74(%rip), %rdx      # 0x69d7
movq %rbx, %rdi
callq 0x2494
leaq 0xb08e(%rip), %rsi      # 0xdb00
leaq 0x3fa6(%rip), %rdx      # 0x6a1f
movq %rbx, %rdi
callq 0x2494
leaq 0xb089(%rip), %rsi      # 0xdb11
leaq 0x3fc4(%rip), %rdx      # 0x6a53
movq %rbx, %rdi
callq 0x2494
leaq 0xb07d(%rip), %rsi      # 0xdb1b
leaq 0x3fdf(%rip), %rdx      # 0x6a84
movq %rbx, %rdi
callq 0x2494
leaq 0xb072(%rip), %rsi      # 0xdb26
leaq 0x3fe1(%rip), %rdx      # 0x6a9c
movq %rbx, %rdi
callq 0x2494
leaq 0xb062(%rip), %rsi      # 0xdb2c
leaq 0x3fff(%rip), %rdx      # 0x6ad0
movq %rbx, %rdi
callq 0x2494
leaq 0xb051(%rip), %rsi      # 0xdb31
leaq 0x4020(%rip), %rdx      # 0x6b07
movq %rbx, %rdi
callq 0x2494
leaq 0xb04c(%rip), %rsi      # 0xdb42
leaq 0x404a(%rip), %rdx      # 0x6b47
movq %rbx, %rdi
callq 0x2494
leaq 0xb046(%rip), %rsi      # 0xdb52
leaq 0x404c(%rip), %rdx      # 0x6b5f
movq %rbx, %rdi
callq 0x2494
leaq 0xb041(%rip), %rsi      # 0xdb63
leaq 0x4083(%rip), %rdx      # 0x6bac
movq %rbx, %rdi
callq 0x2494
leaq 0xb03a(%rip), %rsi      # 0xdb72
leaq 0x40b0(%rip), %rdx      # 0x6bef
movq %rbx, %rdi
callq 0x2494
leaq 0xb032(%rip), %rsi      # 0xdb80
leaq 0x40e3(%rip), %rdx      # 0x6c38
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2494