// File: /workspace/github_c_makefile_star2_O3/gplessis[P]dotdeb-redis/src/server.c
// Function: createSharedObjects
void createSharedObjects(void) {
    int j;

    shared.crlf = createObject(OBJ_STRING,sdsnew("\r\n"));
    shared.ok = createObject(OBJ_STRING,sdsnew("+OK\r\n"));
    shared.err = createObject(OBJ_STRING,sdsnew("-ERR\r\n"));
    shared.emptybulk = createObject(OBJ_STRING,sdsnew("$0\r\n\r\n"));
    shared.czero = createObject(OBJ_STRING,sdsnew(":0\r\n"));
    shared.cone = createObject(OBJ_STRING,sdsnew(":1\r\n"));
    shared.cnegone = createObject(OBJ_STRING,sdsnew(":-1\r\n"));
    shared.nullbulk = createObject(OBJ_STRING,sdsnew("$-1\r\n"));
    shared.nullmultibulk = createObject(OBJ_STRING,sdsnew("*-1\r\n"));
    shared.emptymultibulk = createObject(OBJ_STRING,sdsnew("*0\r\n"));
    shared.pong = createObject(OBJ_STRING,sdsnew("+PONG\r\n"));
    shared.queued = createObject(OBJ_STRING,sdsnew("+QUEUED\r\n"));
    shared.emptyscan = createObject(OBJ_STRING,sdsnew("*2\r\n$1\r\n0\r\n*0\r\n"));
    shared.wrongtypeerr = createObject(OBJ_STRING,sdsnew(
        "-WRONGTYPE Operation against a key holding the wrong kind of value\r\n"));
    shared.nokeyerr = createObject(OBJ_STRING,sdsnew(
        "-ERR no such key\r\n"));
    shared.syntaxerr = createObject(OBJ_STRING,sdsnew(
        "-ERR syntax error\r\n"));
    shared.sameobjecterr = createObject(OBJ_STRING,sdsnew(
        "-ERR source and destination objects are the same\r\n"));
    shared.outofrangeerr = createObject(OBJ_STRING,sdsnew(
        "-ERR index out of range\r\n"));
    shared.noscripterr = createObject(OBJ_STRING,sdsnew(
        "-NOSCRIPT No matching script. Please use EVAL.\r\n"));
    shared.loadingerr = createObject(OBJ_STRING,sdsnew(
        "-LOADING Redis is loading the dataset in memory\r\n"));
    shared.slowscripterr = createObject(OBJ_STRING,sdsnew(
        "-BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE.\r\n"));
    shared.masterdownerr = createObject(OBJ_STRING,sdsnew(
        "-MASTERDOWN Link with MASTER is down and slave-serve-stale-data is set to 'no'.\r\n"));
    shared.bgsaveerr = createObject(OBJ_STRING,sdsnew(
        "-MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.\r\n"));
    shared.roslaveerr = createObject(OBJ_STRING,sdsnew(
        "-READONLY You can't write against a read only slave.\r\n"));
    shared.noautherr = createObject(OBJ_STRING,sdsnew(
        "-NOAUTH Authentication required.\r\n"));
    shared.oomerr = createObject(OBJ_STRING,sdsnew(
        "-OOM command not allowed when used memory > 'maxmemory'.\r\n"));
    shared.execaborterr = createObject(OBJ_STRING,sdsnew(
        "-EXECABORT Transaction discarded because of previous errors.\r\n"));
    shared.noreplicaserr = createObject(OBJ_STRING,sdsnew(
        "-NOREPLICAS Not enough good slaves to write.\r\n"));
    shared.busykeyerr = createObject(OBJ_STRING,sdsnew(
        "-BUSYKEY Target key name already exists.\r\n"));
    shared.space = createObject(OBJ_STRING,sdsnew(" "));
    shared.colon = createObject(OBJ_STRING,sdsnew(":"));
    shared.plus = createObject(OBJ_STRING,sdsnew("+"));

    for (j = 0; j < PROTO_SHARED_SELECT_CMDS; j++) {
        char dictid_str[64];
        int dictid_len;

        dictid_len = ll2string(dictid_str,sizeof(dictid_str),j);
        shared.select[j] = createObject(OBJ_STRING,
            sdscatprintf(sdsempty(),
                "*2\r\n$6\r\nSELECT\r\n$%d\r\n%s\r\n",
                dictid_len, dictid_str));
    }
    shared.messagebulk = createStringObject("$7\r\nmessage\r\n",13);
    shared.pmessagebulk = createStringObject("$8\r\npmessage\r\n",14);
    shared.subscribebulk = createStringObject("$9\r\nsubscribe\r\n",15);
    shared.unsubscribebulk = createStringObject("$11\r\nunsubscribe\r\n",18);
    shared.psubscribebulk = createStringObject("$10\r\npsubscribe\r\n",17);
    shared.punsubscribebulk = createStringObject("$12\r\npunsubscribe\r\n",19);
    shared.del = createStringObject("DEL",3);
    shared.rpop = createStringObject("RPOP",4);
    shared.lpop = createStringObject("LPOP",4);
    shared.lpush = createStringObject("LPUSH",5);
    for (j = 0; j < OBJ_SHARED_INTEGERS; j++) {
        shared.integers[j] = createObject(OBJ_STRING,(void*)(long)j);
        shared.integers[j]->encoding = OBJ_ENCODING_INT;
    }
    for (j = 0; j < OBJ_SHARED_BULKHDR_LEN; j++) {
        shared.mbulkhdr[j] = createObject(OBJ_STRING,
            sdscatprintf(sdsempty(),"*%d\r\n",j));
        shared.bulkhdr[j] = createObject(OBJ_STRING,
            sdscatprintf(sdsempty(),"$%d\r\n",j));
    }
    /* The following two shared objects, minstring and maxstrings, are not
     * actually used for their value but as a special object meaning
     * respectively the minimum possible string and the maximum possible
     * string in string comparisons for the ZRANGEBYLEX command. */
    shared.minstring = createStringObject("minstring",9);
    shared.maxstring = createStringObject("maxstring",9);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq 0x929fe(%rip), %rdi     # 0xc3ddc
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0f1c(%rip)     # 0x102310
leaq 0x8b802(%rip), %rdi     # 0xbcbfd
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0f07(%rip)     # 0x102318
leaq 0x8b7eb(%rip), %rdi     # 0xbcc03
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0ef2(%rip)     # 0x102320
leaq 0x8b7d5(%rip), %rdi     # 0xbcc0a
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0edd(%rip)     # 0x102328
leaq 0x8b7bf(%rip), %rdi     # 0xbcc11
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0ec8(%rip)     # 0x102330
leaq 0x8b7a7(%rip), %rdi     # 0xbcc16
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0eb3(%rip)     # 0x102338
leaq 0x8b78f(%rip), %rdi     # 0xbcc1b
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0e9e(%rip)     # 0x102340
leaq 0x8b778(%rip), %rdi     # 0xbcc21
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0ea1(%rip)     # 0x102360
leaq 0x8b761(%rip), %rdi     # 0xbcc27
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0e8c(%rip)     # 0x102368
leaq 0x8b767(%rip), %rdi     # 0xbcc4a
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0e7f(%rip)     # 0x102378
leaq 0x8b72d(%rip), %rdi     # 0xbcc2d
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0e32(%rip)     # 0x102348
leaq 0x8b718(%rip), %rdi     # 0xbcc35
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0e3d(%rip)     # 0x102370
leaq 0x8b705(%rip), %rdi     # 0xbcc3f
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0f08(%rip)     # 0x102458
leaq 0x8b6f8(%rip), %rdi     # 0xbcc4f
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0e13(%rip)     # 0x102380
leaq 0x8b720(%rip), %rdi     # 0xbcc94
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0dfe(%rip)     # 0x102388
leaq 0x8b716(%rip), %rdi     # 0xbcca7
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0de9(%rip)     # 0x102390
leaq 0x8b70d(%rip), %rdi     # 0xbccbb
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0dd4(%rip)     # 0x102398
leaq 0x8b723(%rip), %rdi     # 0xbccee
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0dbf(%rip)     # 0x1023a0
leaq 0x8b720(%rip), %rdi     # 0xbcd08
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0daa(%rip)     # 0x1023a8
leaq 0x8b734(%rip), %rdi     # 0xbcd39
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0d95(%rip)     # 0x1023b0
leaq 0x8b749(%rip), %rdi     # 0xbcd6b
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0d80(%rip)     # 0x1023b8
leaq 0x8b786(%rip), %rdi     # 0xbcdc5
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0d73(%rip)     # 0x1023c8
leaq 0x8b7bb(%rip), %rdi     # 0xbce17
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0d4e(%rip)     # 0x1023c0
leaq 0x8b86b(%rip), %rdi     # 0xbcee4
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0d41(%rip)     # 0x1023d0
leaq 0x8b885(%rip), %rdi     # 0xbcf1b
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0d34(%rip)     # 0x1023e0
leaq 0x8b88b(%rip), %rdi     # 0xbcf3e
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0d2f(%rip)     # 0x1023f8
leaq 0x8b8a9(%rip), %rdi     # 0xbcf79
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0cf2(%rip)     # 0x1023d8
leaq 0x8b8cb(%rip), %rdi     # 0xbcfb8
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0ce5(%rip)     # 0x1023e8
leaq 0x8b8dd(%rip), %rdi     # 0xbcfe7
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0cd0(%rip)     # 0x1023f0
leaq 0x93576(%rip), %rdi     # 0xc4c9d
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0c13(%rip)     # 0x102350
leaq 0x95ae9(%rip), %rdi     # 0xc722d
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0bfe(%rip)     # 0x102358
leaq 0x8b8b1(%rip), %rdi     # 0xbd012
callq 0x362b0
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0xd0c89(%rip)     # 0x102400
movq %rsp, %rbx
leaq 0x8b893(%rip), %r14     # 0xbd014
leaq 0xd0b88(%rip), %r12     # 0x102310
xorl %r15d, %r15d
movl $0x40, %esi
movq %rbx, %rdi
movq %r15, %rdx
callq 0x3ff83
movl %eax, %ebp
callq 0x3628d
movq %rax, %rdi
movq %r14, %rsi
movl %ebp, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x36f2d
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0x160(%r12,%r15,8)
incq %r15
cmpq $0xa, %r15
jne 0x3178b
leaq 0x8b858(%rip), %rdi     # 0xbd02e
movl $0xd, %esi
callq 0x40744
movq %rax, 0xd0c21(%rip)     # 0x102408
leaq 0x8b84e(%rip), %rdi     # 0xbd03c
movl $0xe, %esi
callq 0x40744
movq %rax, 0xd0c11(%rip)     # 0x102410
leaq 0x8b845(%rip), %rdi     # 0xbd04b
movl $0xf, %esi
callq 0x40744
movq %rax, 0xd0c01(%rip)     # 0x102418
leaq 0x8b83d(%rip), %rdi     # 0xbd05b
movl $0x12, %esi
callq 0x40744
movq %rax, 0xd0bf1(%rip)     # 0x102420
leaq 0x8b838(%rip), %rdi     # 0xbd06e
movl $0x11, %esi
callq 0x40744
movq %rax, 0xd0be1(%rip)     # 0x102428
leaq 0x8b832(%rip), %rdi     # 0xbd080
movl $0x13, %esi
callq 0x40744
movq %rax, 0xd0bd1(%rip)     # 0x102430
leaq 0x8b82e(%rip), %rdi     # 0xbd094
movl $0x3, %esi
callq 0x40744
movq %rax, 0xd0bc1(%rip)     # 0x102438
leaq 0x8b81a(%rip), %rdi     # 0xbd098
movl $0x4, %esi
callq 0x40744
movq %rax, 0xd0bb1(%rip)     # 0x102440
leaq 0x8b807(%rip), %rdi     # 0xbd09d
movl $0x4, %esi
callq 0x40744
movq %rax, 0xd0ba1(%rip)     # 0x102448
leaq 0x8b7f4(%rip), %rdi     # 0xbd0a2
movl $0x5, %esi
callq 0x40744
movq %rax, 0xd0b91(%rip)     # 0x102450
xorl %ebx, %ebx
movl $0xffffff0f, %ebp       # imm = 0xFFFFFF0F
xorl %edi, %edi
movq %rbx, %rsi
callq 0x40650
movq %rax, 0x1b0(%r12,%rbx,8)
movl (%rax), %ecx
andl %ebp, %ecx
orl $0x10, %ecx
movl %ecx, (%rax)
incq %rbx
cmpq $0x2710, %rbx           # imm = 0x2710
jne 0x318c6
leaq 0x8b7b4(%rip), %rbx     # 0xbd0a8
leaq 0x8b7b3(%rip), %r14     # 0xbd0ae
xorl %r15d, %r15d
callq 0x3628d
movq %rax, %rdi
movq %rbx, %rsi
movl %r15d, %edx
xorl %eax, %eax
callq 0x36f2d
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0x13a30(%r12,%r15,8)
callq 0x3628d
movq %rax, %rdi
movq %r14, %rsi
movl %r15d, %edx
xorl %eax, %eax
callq 0x36f2d
xorl %edi, %edi
movq %rax, %rsi
callq 0x40650
movq %rax, 0x13b30(%r12,%r15,8)
incq %r15
cmpq $0x20, %r15
jne 0x318fe
leaq 0x8b758(%rip), %rdi     # 0xbd0b4
movl $0x9, %esi
callq 0x40744
movq %rax, 0xd0af3(%rip)     # 0x102460
leaq 0x8b74a(%rip), %rdi     # 0xbd0be
movl $0x9, %esi
callq 0x40744
movq %rax, 0xd0ae3(%rip)     # 0x102468
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq