Artifact 3611eb219c9c4fa42ba657d5b5c677685de570a39d78b8c715a0bb0b2cd4258c:
- File src/runtime/lookup-asm/lookup-asm-powerpc-macho.S — part of check-in [754d22a701] at 2017-09-09 11:09:41 on branch trunk — Have .S file names match the platform defines (user: js, size: 1667) [annotate] [blame] [check-ins using]
- File
src/runtime/lookup-asm/lookup-asm-ppc-macho.S
— part of check-in
[44f45c2e35]
at
2017-01-09 17:36:36
on branch trunk
— Update copyright
Forgot to add 2017, even though I already did quite some changes in
2017. (user: js, size: 1667) [annotate] [blame] [check-ins using]
/* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 * Jonathan Schleifer <js@heap.zone> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" .globl _objc_msg_lookup .globl _objc_msg_lookup_stret .globl _objc_msg_lookup_super .globl _objc_msg_lookup_super_stret .section __TEXT, __text, regular, pure_instructions .macro generate_lookup $0: cmpwi r3, 0 beq- ret_nil lwz r5, 0(r3) lwz r5, 32(r5) Lmain_$0: lwz r8, 0(r4) #ifdef OF_SELUID24 rlwinm r6, r8, 18, 0x3FC #endif rlwinm r7, r8, 26, 0x3FC rlwinm r8, r8, 2, 0x3FC #ifdef OF_SELUID24 lwzx r5, r5, r6 #endif lwzx r5, r5, r7 lwzx r5, r5, r8 cmpwi r5, 0 beq- 0f mr r3, r5 blr 0: b $1 .endmacro .macro generate_lookup_super $0: mr r5, r3 lwz r3, 0(r3) cmpwi r3, 0 beq- ret_nil lwz r5, 4(r5) lwz r5, 32(r5) b Lmain_$1 .endmacro generate_lookup _objc_msg_lookup, _objc_method_not_found generate_lookup _objc_msg_lookup_stret, _objc_method_not_found_stret generate_lookup_super _objc_msg_lookup_super, _objc_msg_lookup generate_lookup_super _objc_msg_lookup_super_stret, _objc_msg_lookup_stret ret_nil: mflr r0 bl get_pc mtlr r0 0: addi r3, r3, lo16(nil_method-0b) blr nil_method: li r3, 0 blr get_pc: mflr r3 blr