// File: /workspace/github_c_makefile_star2_O0/msteveb[P]autosetup/./jimsh0.c
// Function: JimSetScriptFromAny
static void JimSetScriptFromAny(Jim_Interp *interp, struct Jim_Obj *objPtr)
{
    int scriptTextLen;
    const char *scriptText = Jim_GetString(objPtr, &scriptTextLen);
    struct JimParserCtx parser;
    struct ScriptObj *script;
    ParseTokenList tokenlist;
    Jim_Obj *fileNameObj;
    int line;


    fileNameObj = Jim_GetSourceInfo(interp, objPtr, &line);


    ScriptTokenListInit(&tokenlist);

    JimParserInit(&parser, scriptText, scriptTextLen, line);
    while (!parser.eof) {
        JimParseScript(&parser);
        ScriptAddToken(&tokenlist, parser.tstart, parser.tend - parser.tstart + 1, parser.tt,
            parser.tline);
    }


    ScriptAddToken(&tokenlist, scriptText + scriptTextLen, 0, JIM_TT_EOF, 0);


    script = Jim_Alloc(sizeof(*script));
    memset(script, 0, sizeof(*script));
    script->inUse = 1;
    script->fileNameObj = fileNameObj;
    Jim_IncrRefCount(script->fileNameObj);
    script->missing = parser.missing.ch;
    script->linenr = parser.missing.line;

    ScriptObjAddTokens(interp, script, &tokenlist);


    ScriptTokenListFree(&tokenlist);


    Jim_FreeIntRep(interp, objPtr);
    Jim_SetIntRepPtr(objPtr, script);
    objPtr->typePtr = &scriptObjType;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x270, %rsp            # imm = 0x270
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
callq 0x89b0
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x26c(%rbp), %rdx
callq 0xd3f0
movq %rax, -0x268(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1d7f0
movq -0x20(%rbp), %rsi
movl -0x14(%rbp), %edx
movl -0x26c(%rbp), %ecx
leaq -0x68(%rbp), %rdi
callq 0x1d820
cmpl $0x0, -0x40(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1d6c0
jmp 0x1d6f3
leaq -0x68(%rbp), %rdi
callq 0x1d8c0
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rax
movq -0x58(%rbp), %rcx
subq %rcx, %rax
addq $0x1, %rax
movl %eax, %edx
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %r8d
leaq -0x260(%rbp), %rdi
callq 0x1dae0
jmp 0x1d6b1
movq -0x20(%rbp), %rsi
movslq -0x14(%rbp), %rax
addq %rax, %rsi
leaq -0x260(%rbp), %rdi
xorl %r8d, %r8d
movl $0x8, %ecx
movl %r8d, %edx
callq 0x1dae0
xorl %eax, %eax
movl %eax, %edi
movl $0x28, %esi
callq *0x2ab6c(%rip)          # 0x48290
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
xorl %esi, %esi
movl $0x28, %edx
callq 0x6250
movq -0x70(%rbp), %rax
movl $0x1, 0x18(%rax)
movq -0x268(%rbp), %rcx
movq -0x70(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x70(%rbp), %rax
movq 0x8(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movl -0x34(%rbp), %ecx
movq -0x70(%rbp), %rax
movl %ecx, 0x24(%rax)
movl -0x30(%rbp), %ecx
movq -0x70(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x8(%rbp), %rdi
movq -0x70(%rbp), %rsi
leaq -0x260(%rbp), %rdx
callq 0x1dbf0
leaq -0x260(%rbp), %rdi
callq 0x1ded0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x1d7c7
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x1d7c7
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq *%rax
movq -0x70(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
leaq 0x28b32(%rip), %rcx     # 0x46310
movq %rcx, 0x8(%rax)
addq $0x270, %rsp            # imm = 0x270
popq %rbp
retq
nopl (%rax,%rax)