From 1e3343c14958167dd4ce8db538a8485a36b317f1 Mon Sep 17 00:00:00 2001 From: theraven Date: Sun, 23 Oct 2011 19:06:06 +0000 Subject: [PATCH] And the same x86-64 / ARM (need testing!) --- objc_msgSend.arm.S | 2 ++ objc_msgSend.x86-64.S | 2 ++ 2 files changed, 4 insertions(+) diff --git a/objc_msgSend.arm.S b/objc_msgSend.arm.S index b3d0fe6..928b453 100644 --- a/objc_msgSend.arm.S +++ b/objc_msgSend.arm.S @@ -46,9 +46,11 @@ and r6, r5, #0xff0000 ldr r4, [r4, r6, asr#14] + ldr r4, [r4, #DTABLE_OFFSET] 1: // dtable16 and r6, r5, #0xff00 ldr r4, [r4, r6, asr#6] + ldr r4, [r4, #DTABLE_OFFSET] 2: // dtable8 and r6, r5, #0xff ldr ip, [r4, r6, asl#2] diff --git a/objc_msgSend.x86-64.S b/objc_msgSend.x86-64.S index 5d74298..d435a86 100644 --- a/objc_msgSend.x86-64.S +++ b/objc_msgSend.x86-64.S @@ -32,12 +32,14 @@ shrl $13, %r13d # Right shift 16, but then left shift by 3 *sizeof(void*) add %r13, %r12 mov (%r12), %r12 + mov DATA_OFFSET(%r12), %r12 2: # dtable16: mov %r11, %r13 and $0xff00, %r13 shrl $5, %r13d add %r13, %r12 mov (%r12), %r12 + mov DATA_OFFSET(%r12), %r12 3: # dtable8: mov %r11, %r13 and $0xff, %r13