ObjFW  Diff

Differences From Artifact [14d6290458]:

  • File src/runtime/lookup-asm/lookup-asm-x86_64-elf.S — part of check-in [c4a12e3fa1] at 2020-06-30 20:52:57 on branch tagged-pointers — Merge trunk into branch "tagged-pointers" (user: js size: 2009) [more...]

To Artifact [00fefd9a7f]:

  • File src/runtime/lookup-asm/lookup-asm-x86_64-elf.S — part of check-in [943cf97843] at 2020-07-04 00:24:54 on branch tagged-pointers — Only use 4 bits to classify tagged pointers This leaves 28/60 bits for the value. (user: js size: 2024)

52
53
54
55
56
57
58


59
60
61
62
63
64
65
66
67

	test	rax, rax
	jz	short \not_found@PLT

	ret

.Ltagged_pointer_\name:


	movzx	r8, dil
	shr	r8, 1

	mov	rax, [rip+objc_tagged_pointer_classes@GOTPCREL]
	mov	r8, [rax+r8*8]
	mov	r8, [r8+64]

	jmp	short .Lmain_\name
.type \name, %function







>
>

<







52
53
54
55
56
57
58
59
60
61

62
63
64
65
66
67
68

	test	rax, rax
	jz	short \not_found@PLT

	ret

.Ltagged_pointer_\name:
	and	dil, 0xF
	shr	dil, 1
	movzx	r8, dil


	mov	rax, [rip+objc_tagged_pointer_classes@GOTPCREL]
	mov	r8, [rax+r8*8]
	mov	r8, [r8+64]

	jmp	short .Lmain_\name
.type \name, %function