// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsbuiltin.c
// Function: jsB_init
void jsB_init(js_State *J)
{
	/* Create the prototype objects here, before the constructors */
	J->Object_prototype = jsV_newobject(J, JS_COBJECT, NULL);
	J->Array_prototype = jsV_newobject(J, JS_CARRAY, J->Object_prototype);
	J->Function_prototype = jsV_newobject(J, JS_CCFUNCTION, J->Object_prototype);
	J->Boolean_prototype = jsV_newobject(J, JS_CBOOLEAN, J->Object_prototype);
	J->Number_prototype = jsV_newobject(J, JS_CNUMBER, J->Object_prototype);
	J->String_prototype = jsV_newobject(J, JS_CSTRING, J->Object_prototype);
	J->Date_prototype = jsV_newobject(J, JS_CDATE, J->Object_prototype);

	J->RegExp_prototype = jsV_newobject(J, JS_CREGEXP, J->Object_prototype);
	J->RegExp_prototype->u.r.prog = js_regcompx(J->alloc, J->actx, "(?:)", 0, NULL);
	J->RegExp_prototype->u.r.source = js_strdup(J, "(?:)");

	/* All the native error types */
	J->Error_prototype = jsV_newobject(J, JS_CERROR, J->Object_prototype);
	J->EvalError_prototype = jsV_newobject(J, JS_CERROR, J->Error_prototype);
	J->RangeError_prototype = jsV_newobject(J, JS_CERROR, J->Error_prototype);
	J->ReferenceError_prototype = jsV_newobject(J, JS_CERROR, J->Error_prototype);
	J->SyntaxError_prototype = jsV_newobject(J, JS_CERROR, J->Error_prototype);
	J->TypeError_prototype = jsV_newobject(J, JS_CERROR, J->Error_prototype);
	J->URIError_prototype = jsV_newobject(J, JS_CERROR, J->Error_prototype);

	/* Create the constructors and fill out the prototype objects */
	jsB_initobject(J);
	jsB_initarray(J);
	jsB_initfunction(J);
	jsB_initboolean(J);
	jsB_initnumber(J);
	jsB_initstring(J);
	jsB_initregexp(J);
	jsB_initdate(J);
	jsB_initerror(J);
	jsB_initmath(J);
	jsB_initjson(J);

	/* Initialize the global object */
	js_pushnumber(J, NAN);
	js_defglobal(J, "NaN", JS_READONLY | JS_DONTENUM | JS_DONTCONF);

	js_pushnumber(J, INFINITY);
	js_defglobal(J, "Infinity", JS_READONLY | JS_DONTENUM | JS_DONTCONF);

	js_pushundefined(J);
	js_defglobal(J, "undefined", JS_READONLY | JS_DONTENUM | JS_DONTCONF);

	jsB_globalf(J, "parseInt", jsB_parseInt, 1);
	jsB_globalf(J, "parseFloat", jsB_parseFloat, 1);
	jsB_globalf(J, "isNaN", jsB_isNaN, 1);
	jsB_globalf(J, "isFinite", jsB_isFinite, 1);

	jsB_globalf(J, "decodeURI", jsB_decodeURI, 1);
	jsB_globalf(J, "decodeURIComponent", jsB_decodeURIComponent, 1);
	jsB_globalf(J, "encodeURI", jsB_encodeURI, 1);
	jsB_globalf(J, "encodeURIComponent", jsB_encodeURIComponent, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x90(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0x1, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x98(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0x4, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xa0(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0x6, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xa8(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0x7, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xb0(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0x8, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xb8(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0xa, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xc8(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0x9, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xc0(%rax)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x34a06(%rip), %rdx     # 0x3b2b6
xorl %ecx, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0x6c70
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0xc0(%rax), %rax
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rdi
leaq 0x349dd(%rip), %rsi     # 0x3b2b6
callq 0x71c0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0xc0(%rax), %rax
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movl $0x5, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xd0(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xd0(%rax), %rdx
movl $0x5, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xd8(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xd0(%rax), %rdx
movl $0x5, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xe0(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xd0(%rax), %rdx
movl $0x5, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xe8(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xd0(%rax), %rdx
movl $0x5, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xf0(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xd0(%rax), %rdx
movl $0x5, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0xf8(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0xd0(%rax), %rdx
movl $0x5, %esi
callq 0x6bc0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x100(%rax)
movq -0x8(%rbp), %rdi
callq 0x7210
movq -0x8(%rbp), %rdi
callq 0x45e0
movq -0x8(%rbp), %rdi
callq 0x7480
movq -0x8(%rbp), %rdi
callq 0x6390
movq -0x8(%rbp), %rdi
callq 0x75a0
movq -0x8(%rbp), %rdi
callq 0x7730
movq -0x8(%rbp), %rdi
callq 0x79f0
movq -0x8(%rbp), %rdi
callq 0x7aa0
movq -0x8(%rbp), %rdi
callq 0x7fd0
movq -0x8(%rbp), %rdi
callq 0x82a0
movq -0x8(%rbp), %rdi
callq 0x85b0
movq -0x8(%rbp), %rdi
movsd 0x2c9a0(%rip), %xmm0    # 0x33410
callq 0x44d0
movq -0x8(%rbp), %rdi
leaq 0x34851(%rip), %rsi     # 0x3b2d1
movl $0x7, %edx
callq 0x6300
movq -0x8(%rbp), %rdi
movsd 0x2c972(%rip), %xmm0    # 0x33408
callq 0x44d0
movq -0x8(%rbp), %rdi
leaq 0x3568b(%rip), %rsi     # 0x3c131
movl $0x7, %edx
callq 0x6300
movq -0x8(%rbp), %rdi
callq 0x8640
movq -0x8(%rbp), %rdi
leaq 0x36e51(%rip), %rsi     # 0x3d915
movl $0x7, %edx
callq 0x6300
movq -0x8(%rbp), %rdi
leaq 0x347e2(%rip), %rsi     # 0x3b2bb
leaq 0x1c20(%rip), %rdx      # 0x8700
movl $0x1, %ecx
callq 0x86b0
movq -0x8(%rbp), %rdi
leaq 0x347cf(%rip), %rsi     # 0x3b2c4
leaq 0x1da4(%rip), %rdx      # 0x88a0
movl $0x1, %ecx
callq 0x86b0
movq -0x8(%rbp), %rdi
leaq 0x347be(%rip), %rsi     # 0x3b2cf
leaq 0x1ec8(%rip), %rdx      # 0x89e0
movl $0x1, %ecx
callq 0x86b0
movq -0x8(%rbp), %rdi
leaq 0x347a8(%rip), %rsi     # 0x3b2d5
leaq 0x1eec(%rip), %rdx      # 0x8a20
movl $0x1, %ecx
callq 0x86b0
movq -0x8(%rbp), %rdi
leaq 0x34795(%rip), %rsi     # 0x3b2de
leaq 0x1f30(%rip), %rdx      # 0x8a80
movl $0x1, %ecx
callq 0x86b0
movq -0x8(%rbp), %rdi
leaq 0x34783(%rip), %rsi     # 0x3b2e8
leaq 0x1f54(%rip), %rdx      # 0x8ac0
movl $0x1, %ecx
callq 0x86b0
movq -0x8(%rbp), %rdi
leaq 0x3477a(%rip), %rsi     # 0x3b2fb
leaq 0x1f78(%rip), %rdx      # 0x8b00
movl $0x1, %ecx
callq 0x86b0
movq -0x8(%rbp), %rdi
leaq 0x34768(%rip), %rsi     # 0x3b305
leaq 0x1f9c(%rip), %rdx      # 0x8b40
movl $0x1, %ecx
callq 0x86b0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)