// File: /workspace/github_c_makefile_star2_O0/ccxvii[P]mujs/./jsrun.c
// Function: js_dumpvalue
static void js_dumpvalue(js_State *J, js_Value v)
{
	switch (v.t.type) {
	case JS_TUNDEFINED: printf("undefined"); break;
	case JS_TNULL: printf("null"); break;
	case JS_TBOOLEAN: printf(v.u.boolean ? "true" : "false"); break;
	case JS_TNUMBER: printf("%.9g", v.u.number); break;
	case JS_TSHRSTR: printf("'%s'", v.u.shrstr); break;
	case JS_TLITSTR: printf("'%s'", v.u.litstr); break;
	case JS_TMEMSTR: printf("'%s'", v.u.memstr->p); break;
	case JS_TOBJECT:
		if (v.u.object == J->G) {
			printf("[Global]");
			break;
		}
		switch (v.u.object->type) {
		case JS_COBJECT: printf("[Object %p]", (void*)v.u.object); break;
		case JS_CARRAY: printf("[Array %p]", (void*)v.u.object); break;
		case JS_CFUNCTION:
			printf("[Function %p, %s, %s:%d]",
				(void*)v.u.object,
				v.u.object->u.f.function->name,
				v.u.object->u.f.function->filename,
				v.u.object->u.f.function->line);
			break;
		case JS_CSCRIPT: printf("[Script %s]", v.u.object->u.f.function->filename); break;
		case JS_CCFUNCTION: printf("[CFunction %s]", v.u.object->u.c.name); break;
		case JS_CBOOLEAN: printf("[Boolean %d]", v.u.object->u.boolean); break;
		case JS_CNUMBER: printf("[Number %g]", v.u.object->u.number); break;
		case JS_CSTRING: printf("[String'%s']", v.u.object->u.s.string); break;
		case JS_CERROR: printf("[Error]"); break;
		case JS_CARGUMENTS: printf("[Arguments %p]", (void*)v.u.object); break;
		case JS_CITERATOR: printf("[Iterator %p]", (void*)v.u.object); break;
		case JS_CUSERDATA:
			printf("[Userdata %s %p]", v.u.object->u.user.tag, v.u.object->u.user.data);
			break;
		default: printf("[Object %p]", (void*)v.u.object); break;
		}
		break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rsi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movsbl -0x1(%rbp), %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x7, %eax
ja 0x2face
movq -0x20(%rbp), %rax
leaq 0x48aa(%rip), %rcx      # 0x3411c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xe093(%rip), %rdi      # 0x3d915
movb $0x0, %al
callq 0x3030
jmp 0x2face
leaq 0xd99c(%rip), %rdi      # 0x3d231
movb $0x0, %al
callq 0x3030
jmp 0x2face
movl -0x10(%rbp), %ecx
leaq 0xc89e(%rip), %rdi      # 0x3c149
leaq 0xc892(%rip), %rax      # 0x3c144
cmpl $0x0, %ecx
cmovneq %rax, %rdi
movb $0x0, %al
callq 0x3030
jmp 0x2face
movsd -0x10(%rbp), %xmm0
leaq 0xdf17(%rip), %rdi      # 0x3d7e8
movb $0x1, %al
callq 0x3030
jmp 0x2face
leaq -0x10(%rbp), %rsi
leaq 0xdee5(%rip), %rdi      # 0x3d7cd
movb $0x0, %al
callq 0x3030
jmp 0x2face
movq -0x10(%rbp), %rsi
leaq 0xdece(%rip), %rdi      # 0x3d7cd
movb $0x0, %al
callq 0x3030
jmp 0x2face
movq -0x10(%rbp), %rsi
addq $0x9, %rsi
leaq 0xdeb3(%rip), %rdi      # 0x3d7cd
movb $0x0, %al
callq 0x3030
jmp 0x2face
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x128(%rcx), %rax
jne 0x2f94a
leaq 0xdeaf(%rip), %rdi      # 0x3d7ed
movb $0x0, %al
callq 0x3030
jmp 0x2face
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x28(%rbp)
subq $0xf, %rax
ja 0x2faba
movq -0x28(%rbp), %rax
leaq 0x47d3(%rip), %rcx      # 0x3413c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rsi
leaq 0xde79(%rip), %rdi      # 0x3d7f6
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rsi
leaq 0xde6e(%rip), %rdi      # 0x3d802
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq (%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movl 0x58(%rax), %r8d
leaq 0xde3f(%rip), %rdi      # 0x3d80d
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rax), %rsi
leaq 0xde39(%rip), %rdi      # 0x3d826
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
leaq 0xde2a(%rip), %rdi      # 0x3d832
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rax
movl 0x20(%rax), %esi
leaq 0xde1f(%rip), %rdi      # 0x3d841
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rax
movsd 0x20(%rax), %xmm0
leaq 0xde10(%rip), %rdi      # 0x3d84e
movb $0x1, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
leaq 0xde01(%rip), %rdi      # 0x3d85a
movb $0x0, %al
callq 0x3030
jmp 0x2facc
leaq 0xddfe(%rip), %rdi      # 0x3d867
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rsi
leaq 0xddf2(%rip), %rdi      # 0x3d86f
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rsi
leaq 0xdded(%rip), %rdi      # 0x3d87e
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdx
leaq 0xdddb(%rip), %rdi      # 0x3d88c
movb $0x0, %al
callq 0x3030
jmp 0x2facc
movq -0x10(%rbp), %rsi
leaq 0xdd31(%rip), %rdi      # 0x3d7f6
movb $0x0, %al
callq 0x3030
jmp 0x2face
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)