Permalink
Browse files

objc4-532.2, released with OS X v10.8.2

  • Loading branch information...
1 parent 1c33f8f commit c7d59a0d2a9ce697c10390907df8f1acecf29aa4 @bavarious committed Oct 4, 2012
@@ -17,7 +17,6 @@
830F2A740D737FB800392440 /* objc-msg-arm.s in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A690D737FB800392440 /* objc-msg-arm.s */; };
830F2A750D737FB900392440 /* objc-msg-i386.s in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A6A0D737FB800392440 /* objc-msg-i386.s */; };
830F2A7D0D737FBB00392440 /* objc-msg-x86_64.s in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A720D737FB800392440 /* objc-msg-x86_64.s */; };
- 830F2A890D73819A00392440 /* objc-auto-i386.s in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A850D73819A00392440 /* objc-auto-i386.s */; };
830F2A940D73876100392440 /* objc-accessors.h in Headers */ = {isa = PBXBuildFile; fileRef = 830F2A920D73876100392440 /* objc-accessors.h */; };
830F2A950D73876100392440 /* objc-accessors.mm in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A930D73876100392440 /* objc-accessors.mm */; };
830F2A980D738DC200392440 /* hashtable.h in Headers */ = {isa = PBXBuildFile; fileRef = 830F2A970D738DC200392440 /* hashtable.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -53,7 +52,6 @@
8383A3BF122600FB009290B8 /* objc-lockdebug.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485DB0D6D68A200CEA253 /* objc-lockdebug.mm */; };
8383A3C0122600FB009290B8 /* objc-os.mm in Sources */ = {isa = PBXBuildFile; fileRef = 831C85D40E10CF850066E64C /* objc-os.mm */; };
8383A3C1122600FB009290B8 /* objc-references.mm in Sources */ = {isa = PBXBuildFile; fileRef = 393CEABF0DC69E3E000B69DE /* objc-references.mm */; };
- 8383A3C2122600FB009290B8 /* objc-rtp.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485DF0D6D68A200CEA253 /* objc-rtp.mm */; };
8383A3C3122600FB009290B8 /* objc-runtime-new.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485E10D6D68A200CEA253 /* objc-runtime-new.mm */; };
8383A3C4122600FB009290B8 /* objc-runtime-old.m in Sources */ = {isa = PBXBuildFile; fileRef = 838485E20D6D68A200CEA253 /* objc-runtime-old.m */; };
8383A3C5122600FB009290B8 /* objc-runtime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485E40D6D68A200CEA253 /* objc-runtime.mm */; };
@@ -66,7 +64,6 @@
8383A3CC122600FB009290B8 /* a1a2-blocktramps-x86_64.s in Sources */ = {isa = PBXBuildFile; fileRef = E8923D9D116AB2820071B552 /* a1a2-blocktramps-x86_64.s */; settings = {COMPILER_FLAGS = " -Qunused-arguments"; }; };
8383A3CD122600FB009290B8 /* a2a3-blocktramps-i386.s in Sources */ = {isa = PBXBuildFile; fileRef = E8923D9E116AB2820071B552 /* a2a3-blocktramps-i386.s */; settings = {COMPILER_FLAGS = " -Qunused-arguments"; }; };
8383A3CE122600FB009290B8 /* a2a3-blocktramps-x86_64.s in Sources */ = {isa = PBXBuildFile; fileRef = E8923D9F116AB2820071B552 /* a2a3-blocktramps-x86_64.s */; settings = {COMPILER_FLAGS = " -Qunused-arguments"; }; };
- 8383A3CF122600FB009290B8 /* objc-auto-i386.s in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A850D73819A00392440 /* objc-auto-i386.s */; settings = {COMPILER_FLAGS = " -Qunused-arguments"; }; };
8383A3D0122600FB009290B8 /* objc-msg-arm.s in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A690D737FB800392440 /* objc-msg-arm.s */; settings = {COMPILER_FLAGS = " -Qunused-arguments"; }; };
8383A3D1122600FB009290B8 /* objc-msg-i386.s in Sources */ = {isa = PBXBuildFile; fileRef = 830F2A6A0D737FB800392440 /* objc-msg-i386.s */; settings = {COMPILER_FLAGS = " -Qunused-arguments"; }; };
8383A3D2122600FB009290B8 /* objc-msg-simulator-i386.s in Sources */ = {isa = PBXBuildFile; fileRef = 83B1A8BC0FF1AC0D0019EA5B /* objc-msg-simulator-i386.s */; settings = {COMPILER_FLAGS = " -Qunused-arguments"; }; };
@@ -98,7 +95,6 @@
838486010D6D68A200CEA253 /* objc-loadmethod.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485DA0D6D68A200CEA253 /* objc-loadmethod.mm */; };
838486020D6D68A200CEA253 /* objc-lockdebug.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485DB0D6D68A200CEA253 /* objc-lockdebug.mm */; };
838486030D6D68A200CEA253 /* objc-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 838485DC0D6D68A200CEA253 /* objc-private.h */; };
- 838486060D6D68A200CEA253 /* objc-rtp.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485DF0D6D68A200CEA253 /* objc-rtp.mm */; };
838486070D6D68A200CEA253 /* objc-runtime-new.h in Headers */ = {isa = PBXBuildFile; fileRef = 838485E00D6D68A200CEA253 /* objc-runtime-new.h */; };
838486080D6D68A200CEA253 /* objc-runtime-new.mm in Sources */ = {isa = PBXBuildFile; fileRef = 838485E10D6D68A200CEA253 /* objc-runtime-new.mm */; };
838486090D6D68A200CEA253 /* objc-runtime-old.m in Sources */ = {isa = PBXBuildFile; fileRef = 838485E20D6D68A200CEA253 /* objc-runtime-old.m */; };
@@ -191,7 +187,6 @@
830F2A690D737FB800392440 /* objc-msg-arm.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "objc-msg-arm.s"; path = "runtime/Messengers.subproj/objc-msg-arm.s"; sourceTree = "<group>"; };
830F2A6A0D737FB800392440 /* objc-msg-i386.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "objc-msg-i386.s"; path = "runtime/Messengers.subproj/objc-msg-i386.s"; sourceTree = "<group>"; };
830F2A720D737FB800392440 /* objc-msg-x86_64.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "objc-msg-x86_64.s"; path = "runtime/Messengers.subproj/objc-msg-x86_64.s"; sourceTree = "<group>"; tabWidth = 8; usesTabs = 1; };
- 830F2A850D73819A00392440 /* objc-auto-i386.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = "objc-auto-i386.s"; path = "runtime/Auto.subproj/objc-auto-i386.s"; sourceTree = "<group>"; };
830F2A920D73876100392440 /* objc-accessors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "objc-accessors.h"; path = "runtime/Accessors.subproj/objc-accessors.h"; sourceTree = "<group>"; };
830F2A930D73876100392440 /* objc-accessors.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "objc-accessors.mm"; path = "runtime/Accessors.subproj/objc-accessors.mm"; sourceTree = "<group>"; };
830F2A970D738DC200392440 /* hashtable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hashtable.h; path = runtime/hashtable.h; sourceTree = "<group>"; };
@@ -234,7 +229,6 @@
838485DA0D6D68A200CEA253 /* objc-loadmethod.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "objc-loadmethod.mm"; path = "runtime/objc-loadmethod.mm"; sourceTree = "<group>"; };
838485DB0D6D68A200CEA253 /* objc-lockdebug.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "objc-lockdebug.mm"; path = "runtime/objc-lockdebug.mm"; sourceTree = "<group>"; };
838485DC0D6D68A200CEA253 /* objc-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "objc-private.h"; path = "runtime/objc-private.h"; sourceTree = "<group>"; };
- 838485DF0D6D68A200CEA253 /* objc-rtp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "objc-rtp.mm"; path = "runtime/objc-rtp.mm"; sourceTree = "<group>"; };
838485E00D6D68A200CEA253 /* objc-runtime-new.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "objc-runtime-new.h"; path = "runtime/objc-runtime-new.h"; sourceTree = "<group>"; };
838485E10D6D68A200CEA253 /* objc-runtime-new.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "objc-runtime-new.mm"; path = "runtime/objc-runtime-new.mm"; sourceTree = "<group>"; };
838485E20D6D68A200CEA253 /* objc-runtime-old.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "objc-runtime-old.m"; path = "runtime/objc-runtime-old.m"; sourceTree = "<group>"; };
@@ -347,7 +341,6 @@
831C85D40E10CF850066E64C /* objc-os.mm */,
831C85D40E10CF850066E64C /* objc-os.mm */,
393CEABF0DC69E3E000B69DE /* objc-references.mm */,
- 838485DF0D6D68A200CEA253 /* objc-rtp.mm */,
838485E10D6D68A200CEA253 /* objc-runtime-new.mm */,
838485E20D6D68A200CEA253 /* objc-runtime-old.m */,
838485E40D6D68A200CEA253 /* objc-runtime.mm */,
@@ -360,7 +353,6 @@
E8923D9D116AB2820071B552 /* a1a2-blocktramps-x86_64.s */,
E8923D9E116AB2820071B552 /* a2a3-blocktramps-i386.s */,
E8923D9F116AB2820071B552 /* a2a3-blocktramps-x86_64.s */,
- 830F2A850D73819A00392440 /* objc-auto-i386.s */,
830F2A690D737FB800392440 /* objc-msg-arm.s */,
830F2A6A0D737FB800392440 /* objc-msg-i386.s */,
83B1A8BC0FF1AC0D0019EA5B /* objc-msg-simulator-i386.s */,
@@ -716,7 +708,6 @@
8383A3BF122600FB009290B8 /* objc-lockdebug.mm in Sources */,
8383A3C0122600FB009290B8 /* objc-os.mm in Sources */,
8383A3C1122600FB009290B8 /* objc-references.mm in Sources */,
- 8383A3C2122600FB009290B8 /* objc-rtp.mm in Sources */,
8383A3C3122600FB009290B8 /* objc-runtime-new.mm in Sources */,
8383A3C4122600FB009290B8 /* objc-runtime-old.m in Sources */,
8383A3C5122600FB009290B8 /* objc-runtime.mm in Sources */,
@@ -729,7 +720,6 @@
8383A3CC122600FB009290B8 /* a1a2-blocktramps-x86_64.s in Sources */,
8383A3CD122600FB009290B8 /* a2a3-blocktramps-i386.s in Sources */,
8383A3CE122600FB009290B8 /* a2a3-blocktramps-x86_64.s in Sources */,
- 8383A3CF122600FB009290B8 /* objc-auto-i386.s in Sources */,
8383A3D0122600FB009290B8 /* objc-msg-arm.s in Sources */,
8383A3D1122600FB009290B8 /* objc-msg-i386.s in Sources */,
8383A3D2122600FB009290B8 /* objc-msg-simulator-i386.s in Sources */,
@@ -760,7 +750,6 @@
838485FF0D6D68A200CEA253 /* objc-load.mm in Sources */,
838486010D6D68A200CEA253 /* objc-loadmethod.mm in Sources */,
838486020D6D68A200CEA253 /* objc-lockdebug.mm in Sources */,
- 838486060D6D68A200CEA253 /* objc-rtp.mm in Sources */,
838486080D6D68A200CEA253 /* objc-runtime-new.mm in Sources */,
838486090D6D68A200CEA253 /* objc-runtime-old.m in Sources */,
8384860B0D6D68A200CEA253 /* objc-runtime.mm in Sources */,
@@ -774,7 +763,6 @@
830F2A740D737FB800392440 /* objc-msg-arm.s in Sources */,
830F2A750D737FB900392440 /* objc-msg-i386.s in Sources */,
830F2A7D0D737FBB00392440 /* objc-msg-x86_64.s in Sources */,
- 830F2A890D73819A00392440 /* objc-auto-i386.s in Sources */,
830F2A950D73876100392440 /* objc-accessors.mm in Sources */,
393CEAC00DC69E3E000B69DE /* objc-references.mm in Sources */,
831C85D60E10CF850066E64C /* objc-os.mm in Sources */,
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2004, 2007 Apple Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_LICENSE_HEADER_END@
- */
-
-#include <TargetConditionals.h>
-
-#if __i386__ && !TARGET_OS_IPHONE && !TARGET_OS_WIN32
-
-/*
- This file defines the non-GC variants of objc_assign_* on a dedicated
- page in the (__DATA,__data) section. At load time under GC, each
- routine is overwritten with a jump to its GC variant. It is necessary
- for these routines to exist on a dedicated page for vm_protect to
- work properly in the GC case. The page exists in the data segment to
- reduce the kernel's page table overhead.
-
- Note: To avoid wasting more space than necessary at runtime, this file
- must not contain anything other than the objc_assign_* routines.
-*/
-
-.section __IMPORT, __objctext, regular, pure_instructions + self_modifying_code
-
-.align 12 // align to page boundary
-
-// id objc_assign_ivar(id value, id dest, ptrdiff_t offset);
-.globl _objc_assign_ivar
-_objc_assign_ivar:
- pushl %ebp
- movl %esp,%ebp
- movl 0x08(%ebp),%eax // value
- movl 0x0c(%ebp),%ecx // dest
- movl 0x10(%ebp),%edx // offset
- movl %eax,(%ecx,%edx) // return (*(dest + offset) = value);
- leave
- ret
-
-// id objc_assign_global(id value, id *dest);
-.globl _objc_assign_global
-_objc_assign_global:
- pushl %ebp
- movl %esp,%ebp
- movl 0x08(%ebp),%eax // value
- movl 0x0c(%ebp),%edx // dest
- movl %eax,(%edx) // return (*dest = value);
- leave
- ret
-
-// id objc_assign_threadlocal(id value, id *dest);
-.globl _objc_assign_threadlocal
-_objc_assign_threadlocal:
- pushl %ebp
- movl %esp,%ebp
- movl 0x08(%ebp),%eax // value
- movl 0x0c(%ebp),%edx // dest
- movl %eax,(%edx) // return (*dest = value);
- leave
- ret
-
-// As of OS X 10.5, objc_assign_strongCast_non_gc is identical to
-// objc_assign_global_non_gc.
-
-// id objc_assign_strongCast(id value, id *dest);
-.globl _objc_assign_strongCast
-_objc_assign_strongCast:
- pushl %ebp
- movl %esp,%ebp
- movl 0x08(%ebp),%eax // value
- movl 0x0c(%ebp),%edx // dest
- movl %eax,(%edx) // return (*dest = value);
- leave
- ret
-
-// Claim the remainder of the page.
-.align 12, 0
-
-#endif
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2006-2007 Apple Inc. All Rights Reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_LICENSE_HEADER_END@
- */
-
-#error not currently used
-
-#ifdef __x86_64__
-
-/*
- This file defines the non-GC variants of objc_assign_* on a dedicated
- page in the (__DATA,__data) section. At load time under GC, each
- routine is overwritten with a jump to its GC variant. It is necessary
- for these routines to exist on a dedicated page for vm_protect to
- work properly in the GC case. The page exists in the data segment to
- reduce the kernel's page table overhead.
-
- Note: To avoid wasting more space than necessary at runtime, this file
- must not contain anything other than the objc_assign_* routines.
-*/
-
-.data
-.align 12 // align to page boundary
-
-// id objc_assign_ivar(id value, id dest, ptrdiff_t offset);
-.globl _objc_assign_ivar
-_objc_assign_ivar:
- pushq %rbp
- movq %rsp,%rbp
- movq %rdi,(%rsi,%rdx) // *(dest + offset) = value);
- movq %rdi,%rax // return value;
- leave
- ret
-
-// id objc_assign_global(id value, id *dest);
-.globl _objc_assign_global
-_objc_assign_global:
- pushq %rbp
- movq %rsp,%rbp
- movq %rdi,(%rsi) // *(dest = value);
- movq %rdi,%rax // return value;
- leave
- ret
-
-// id objc_assign_threadlocal(id value, id *dest);
-.globl _objc_assign_threadlocal
-_objc_assign_threadlocal:
- pushq %rbp
- movq %rsp,%rbp
- movq %rdi,(%rsi) // *(dest = value);
- movq %rdi,%rax // return value;
- leave
- ret
-
-// As of OS X 10.5, objc_assign_strongCast_non_gc is identical to
-// objc_assign_global_non_gc.
-
-// id objc_assign_strongCast(id value, id *dest);
-.globl _objc_assign_strongCast
-_objc_assign_strongCast:
- pushq %rbp
- movq %rsp,%rbp
- movq %rdi,(%rsi) // *(dest = value);
- movq %rdi,%rax // return value;
- leave
- ret
-
-// Claim the remainder of the page.
-.align 12, 0
-
-#endif
View
@@ -334,16 +334,6 @@ id objc_assign_ivar_non_gc(id value, id base, ptrdiff_t offset) {
* Called by pretty much all GC-supporting code.
**********************************************************************/
-
-#if defined(__i386__)
-
-// These 3 functions are defined in objc-auto-i386.s as
-// the non-GC variants. Under GC, rtp_init stomps them with jumps to
-// objc_assign_*_gc.
-
-#else
-
-// use generic implementation until time can be spent on optimizations
id objc_assign_strongCast(id value, id *dest)
{
if (UseGC) {
@@ -381,9 +371,6 @@ id objc_assign_ivar(id value, id dest, ptrdiff_t offset)
}
}
-// not defined(__i386__)
-#endif
-
#if __LP64__
#define LC_SEGMENT_COMMAND LC_SEGMENT_64
#define LC_ROUTINES_COMMAND LC_ROUTINES_64
View
@@ -674,7 +674,6 @@ static void verify_gc_readiness(BOOL wantsGC, BOOL *wantsCompaction,
verify_gc_readiness(wantsGC, &wantsCompaction, hList, hCount);
gc_init(wantsGC, wantsCompaction); // needs executable for GC decision
- rtp_init(); // needs GC decision first
} else {
verify_gc_readiness(wantsGC, &wantsCompaction, hList, hCount);
}
@@ -486,10 +486,9 @@ struct objc_method_description * lookup_protocol_method(struct old_protocol *pro
Method _protocol_getMethod(Protocol *p, SEL sel, BOOL isRequiredMethod, BOOL isInstanceMethod, BOOL recursive);
#endif
-/* GC and RTP startup */
+/* GC startup */
extern void gc_init(BOOL wantsGC, BOOL wantsCompaction);
extern void gc_init2(void);
-extern void rtp_init(void);
/* Exceptions */
struct alt_handler_list;
@@ -571,7 +570,6 @@ ENV(PrintIvars); // env OBJC_PRINT_IVAR_SETUP
ENV(PrintVtables); // env OBJC_PRINT_VTABLE_SETUP
ENV(PrintVtableImages); // env OBJC_PRINT_VTABLE_IMAGES
ENV(PrintFuture); // env OBJC_PRINT_FUTURE_CLASSES
-ENV(PrintRTP); // env OBJC_PRINT_RTP
ENV(PrintGC); // env OBJC_PRINT_GC
ENV(PrintPreopt); // env OBJC_PRINT_PREOPTIMIZATION
ENV(PrintCxxCtors); // env OBJC_PRINT_CXX_CTORS
Oops, something went wrong.

0 comments on commit c7d59a0

Please sign in to comment.