@@ -15,10 +15,12 @@ * file. */ #include "config.h" +#include "invoke-x86_64.h" + .globl of_invocation_call .section .text of_invocation_call: pushq %rbp @@ -27,13 +29,13 @@ subq $16, %rsp andq $-16, %rsp movq %rdi, -8(%rbp) movb 225(%rdi), %r11b - cmpb $1, %r11b + cmpb $RETURN_TYPE_STRET, %r11b je .lookup_stret - cmpb $4, %r11b + cmpb $RETURN_TYPE_JMP_STRET, %r11b je .lookup_stret movq 8(%rdi), %rsi movq 0(%rdi), %rdi call objc_msg_lookup@PLT @@ -77,13 +79,13 @@ movq 8(%rdi), %rsi movb 225(%rdi), %r11b movq 0(%rdi), %rdi - cmpb $4, %r11b + cmpb $RETURN_TYPE_JMP, %r11b je .jmp_into_method - cmpb $5, %r11b + cmpb $RETURN_TYPE_JMP_STRET, %r11b je .jmp_into_method movq -16(%rbp), %r11 call *%r11 @@ -94,14 +96,14 @@ movdqa %xmm0, 64(%rdi) movdqa %xmm1, 80(%rdi) movb 225(%rdi), %r11b - cmpb $2, %r11b + cmpb $RETURN_TYPE_X87, %r11b je .pop_long_double - cmpb $3, %r11b + cmpb $RETURN_TYPE_COMPLEX_X87, %r11b je .pop_complex_long_double .return: movq %rbp, %rsp popq %rbp