ObjFW  Check-in [ddc5d6ac49]

Overview
Comment:lookup-asm-x86*.S: Minor optimization
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ddc5d6ac499892b1e74b1af521cdbc16e3e8e987ae0f16b90aaa161fcaf37a36
User & Date: js on 2021-02-22 22:38:12
Other Links: manifest | tags
Context
2021-02-28
15:22
More consistent API for OFINICategory & OFSettings check-in: 2ed9cbdc0c user: js tags: trunk
2021-02-22
22:38
lookup-asm-x86*.S: Minor optimization check-in: ddc5d6ac49 user: js tags: trunk
2021-02-17
23:02
README.md: Add back the Gitter room check-in: a498cfaf93 user: js tags: trunk
Changes

Modified src/runtime/lookup-asm/lookup-asm-x86-elf.S from [2020d245a7] to [89119220a2].

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
.section .text
.macro generate_lookup name not_found
\name:
	movl	4(%esp), %edx
	testl	%edx, %edx
	jz	ret_nil

	btl	$0, %edx
	jc	.Ltagged_pointer_\name

	movl	(%edx), %edx
	movl	32(%edx), %edx

.Lmain_\name:
	movl	8(%esp), %eax








|
|







25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
.section .text
.macro generate_lookup name not_found
\name:
	movl	4(%esp), %edx
	testl	%edx, %edx
	jz	ret_nil

	testb	$1, %dl
	jnz	.Ltagged_pointer_\name

	movl	(%edx), %edx
	movl	32(%edx), %edx

.Lmain_\name:
	movl	8(%esp), %eax

Modified src/runtime/lookup-asm/lookup-asm-x86-win32.S from [7e33d5be64] to [adce2f3bf7].

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
.section .text
.macro generate_lookup name not_found
\name:
	movl	4(%esp), %edx
	testl	%edx, %edx
	jz	ret_nil

	btl	$0, %edx
	jc	.Ltagged_pointer_\name

	movl	(%edx), %edx
	movl	32(%edx), %edx

.Lmain_\name:
	movl	8(%esp), %eax








|
|







23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
.section .text
.macro generate_lookup name not_found
\name:
	movl	4(%esp), %edx
	testl	%edx, %edx
	jz	ret_nil

	testb	$1, %dl
	jnz	.Ltagged_pointer_\name

	movl	(%edx), %edx
	movl	32(%edx), %edx

.Lmain_\name:
	movl	8(%esp), %eax

Modified src/runtime/lookup-asm/lookup-asm-x86_64-elf.S from [b420f1d31a] to [e0cdb81196].

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

.section .text
.macro generate_lookup name not_found
\name:
	testq	%rdi, %rdi
	jz	ret_nil

	btl	$0, %edi
	jc	.Ltagged_pointer_\name

	movq	(%rdi), %r8
	movq	64(%r8), %r8

.Lmain_\name:
	movq	(%rsi), %rax
	movzbl	%ah, %ecx







|
|







24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

.section .text
.macro generate_lookup name not_found
\name:
	testq	%rdi, %rdi
	jz	ret_nil

	testb	$1, %dil
	jnz	.Ltagged_pointer_\name

	movq	(%rdi), %r8
	movq	64(%r8), %r8

.Lmain_\name:
	movq	(%rsi), %rax
	movzbl	%ah, %ecx

Modified src/runtime/lookup-asm/lookup-asm-x86_64-macho.S from [caad23b303] to [30cd6d5c1f].

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

.section __TEXT, __text, regular, pure_instructions
.macro generate_lookup
$0:
	testq	%rdi, %rdi
	jz	ret_nil

	btl	$$0, %edi
	jc	Ltagged_pointer_$0

	movq	(%rdi), %r8
	movq	64(%r8), %r8

Lmain_$0:
	movq	(%rsi), %rax
	movzbl	%ah, %ecx







|
|







22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

.section __TEXT, __text, regular, pure_instructions
.macro generate_lookup
$0:
	testq	%rdi, %rdi
	jz	ret_nil

	testb	$$1, %dil
	jnz	Ltagged_pointer_$0

	movq	(%rdi), %r8
	movq	64(%r8), %r8

Lmain_$0:
	movq	(%rsi), %rax
	movzbl	%ah, %ecx

Modified src/runtime/lookup-asm/lookup-asm-x86_64-win64.S from [bcecb9f17a] to [4b98720144].

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

.section .text
.macro generate_lookup name not_found
\name:
	test	rcx, rcx
	jz	short ret_nil

	bt	ecx, 0
	jc	short .Ltagged_pointer_\name

	mov	r8, [rcx]
	mov	r8, [r8+56]

.Lmain_\name:
	mov	r10, rcx
	mov	r11, rdx







|
|







24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

.section .text
.macro generate_lookup name not_found
\name:
	test	rcx, rcx
	jz	short ret_nil

	test	cl, 1
	jnz	short .Ltagged_pointer_\name

	mov	r8, [rcx]
	mov	r8, [r8+56]

.Lmain_\name:
	mov	r10, rcx
	mov	r11, rdx