Changeset 7869


Ignore:
Timestamp:
Dec 10, 2007, 7:26:21 PM (13 years ago)
Author:
gb
Message:

Try to handle the &key &allow-other-keys (no explicit keywords)
case more quickly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/lisp-kernel/x86-spentry64.s

    r7747 r7869  
    22442244        /* (in %imm1), copy all pairs to the temp stack   */
    22452245local_label(even):
    2246         __(lea tsp_frame.fixed_overhead(%imm1),%arg_z)
     2246        /* Get the keyword vector into arg_x, and its length into arg_y.  */
     2247        __(movl function_data_offset(%fn),%imm0_l)
     2248        __(movq function_data_offset(%fn,%imm0,node_size),%arg_x)
     2249        __(vector_length(%arg_x,%arg_y))
     2250        __(testq %arg_y,%arg_y)
     2251        __(jne 1f)
     2252        __(btq $keyword_flags_aok_bit,%temp1)
     2253        __(jnc 1f)
     2254        __(jmp *%ra0)
     22551:     
     2256        __(lea tsp_frame.fixed_overhead(%imm1),%arg_z)
    22472257        __(TSP_Alloc_Var(%arg_z,%imm0))
    224822582:      __(subq $node_size,%arg_z)
     
    22502260        __(cmpq %arg_z,%imm0)
    22512261        __(jne 2b)
    2252         /* Get the keyword vector into arg_x, and its length into arg_y.  */
    22532262        /* Push arg_y pairs of NILs.   */
    2254         __(movl function_data_offset(%fn),%imm0_l)
    2255         __(movq function_data_offset(%fn,%imm0,node_size),%arg_x)
    2256         __(vector_length(%arg_x,%arg_y))
    22572263        __(movq %arg_y,%imm0)
    22582264        __(jmp 4f)
Note: See TracChangeset for help on using the changeset viewer.