[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

mjs mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:36:05 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 35ce49a8f1e7d5e08a8ff917b163be8f7c0a055c
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Apr 22 16:53:36 2004 +0000

    JavaScriptCore:
    
            Reviewed by Darin.
    
    	Preliminary change for conservative GC. Create "protected"
    	subclasses to GC-protect objects when on heap, since we will soon
    	remove the built-in refcounting of the normal wrapper classes. Use
    	them where needed.
    
            * JavaScriptCore.pbproj/project.pbxproj:
            * kjs/context.h:
            * kjs/internal.h:
            (KJS::InterpreterImp::globalObject):
            * kjs/interpreter.h:
            * kjs/property_map.cpp:
            * kjs/reference.h:
            * kjs/reference_list.cpp:
    
    WebCore:
    
            Reviewed by Darin.
    
    	Preliminary change for conservative GC. Use new "protected"
    	subclasses to GC-protect objects when on heap, since we will soon
    	remove the built-in refcounting of the normal wrapper classes.
    
            * ForwardingHeaders/kjs/protect.h: Added.
            * khtml/ecma/kjs_binding.h:
            * khtml/ecma/kjs_events.h:
            * khtml/ecma/kjs_traversal.h:
            * khtml/ecma/kjs_window.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 8874dd3..3c278b4 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,21 @@
+2004-04-21  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Darin.
+
+	Preliminary change for conservative GC. Create "protected"
+	subclasses to GC-protect objects when on heap, since we will soon
+	remove the built-in refcounting of the normal wrapper classes. Use
+	them where needed.
+	
+        * JavaScriptCore.pbproj/project.pbxproj:
+        * kjs/context.h:
+        * kjs/internal.h:
+        (KJS::InterpreterImp::globalObject):
+        * kjs/interpreter.h:
+        * kjs/property_map.cpp:
+        * kjs/reference.h:
+        * kjs/reference_list.cpp:
+
 2004-04-19  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by Dave.
diff --git a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
index 1e6b03f..3540f6f 100644
--- a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
+++ b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
@@ -3,7 +3,7 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 39;
+	objectVersion = 38;
 	objects = {
 		014CEA440018CDF011CA2923 = {
 			buildRules = (
@@ -52,15 +52,11 @@
 			isa = PBXGroup;
 			name = Products;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		034768E0FF38A50411DB9C8B = {
-			explicitFileType = wrapper.framework;
-			fallbackIsa = PBXFileReference;
 			isa = PBXFrameworkReference;
 			path = JavaScriptCore.framework;
 			refType = 3;
-			sourceTree = BUILT_PRODUCTS_DIR;
 		};
 //030
 //031
@@ -73,8 +69,6 @@
 //083
 //084
 		0867D690FE84028FC02AAC07 = {
-			buildSettings = {
-			};
 			buildStyles = (
 				014CEA440018CDF011CA2923,
 				014CEA450018CDF011CA2923,
@@ -100,7 +94,6 @@
 			isa = PBXGroup;
 			name = JavaScriptCore;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		0867D69AFE84028FC02AAC07 = {
 			children = (
@@ -113,7 +106,6 @@
 			isa = PBXGroup;
 			name = Frameworks;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		0867D69CFE84028FC02AAC07 = {
 			buildPhases = (
@@ -257,6 +249,7 @@
 				5199B1C0061B65BC0070C006,
 				5199B266061BB1300070C006,
 				65AB004B06261CBA0076DE63,
+				65C02FBC0637462A003E7EE6,
 			);
 			isa = PBXHeadersBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -399,6 +392,7 @@
 				F692A8770255597D01FF60F7,
 				F692A87A0255597D01FF60F7,
 				F692A8790255597D01FF60F7,
+				65C02FBB0637462A003E7EE6,
 				F5341390030CEEB1018BE7F3,
 				F5341391030CEEB1018BE7F3,
 				F54F0800030CD22001B5C2EB,
@@ -423,7 +417,6 @@
 			name = Classes;
 			path = "";
 			refType = 4;
-			sourceTree = "<group>";
 		};
 //080
 //081
@@ -438,20 +431,16 @@
 		5114F47B05E4426200D1BBBD = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = runtime_root.cpp;
 			path = bindings/runtime_root.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5114F47C05E4426200D1BBBD = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = runtime_root.h;
 			path = bindings/runtime_root.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5114F47D05E4426200D1BBBD = {
 			fileRef = 5114F47B05E4426200D1BBBD;
@@ -471,11 +460,9 @@
 		511B0870056468730080E486 = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = runtime.h;
 			path = bindings/runtime.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		511B0871056468730080E486 = {
 			fileRef = 511B0870056468730080E486;
@@ -489,20 +476,16 @@
 		511B0876056468BB0080E486 = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = jni_runtime.h;
 			path = bindings/jni/jni_runtime.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		511B0877056468BB0080E486 = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = jni_runtime.cpp;
 			path = bindings/jni/jni_runtime.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		511B0878056468BB0080E486 = {
 			fileRef = 511B0876056468BB0080E486;
@@ -519,20 +502,16 @@
 		513DF74005C0861F00F89391 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = jni_jsobject.cpp;
 			path = bindings/jni/jni_jsobject.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		513DF74105C0861F00F89391 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = jni_jsobject.h;
 			path = bindings/jni/jni_jsobject.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		513DF74205C0861F00F89391 = {
 			fileRef = 513DF74005C0861F00F89391;
@@ -552,11 +531,9 @@
 		51532CC705F7FD2C00EC779C = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = NP_jsobject.cpp;
 			path = bindings/NP_jsobject.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51532CC805F7FD2C00EC779C = {
 			fileRef = 51532CC705F7FD2C00EC779C;
@@ -567,11 +544,9 @@
 		517BE7F40610E39600221947 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = NP_jsobject.h;
 			path = bindings/NP_jsobject.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		517BE7F50610E39600221947 = {
 			fileRef = 517BE7F40610E39600221947;
@@ -582,20 +557,16 @@
 		517D52DC056BF2F5003851BD = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = jni_class.cpp;
 			path = bindings/jni/jni_class.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		517D52DD056BF2F6003851BD = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = jni_class.h;
 			path = bindings/jni/jni_class.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		517D52DE056BF2F6003851BD = {
 			fileRef = 517D52DC056BF2F5003851BD;
@@ -612,20 +583,16 @@
 		517D5347056BFB5D003851BD = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = jni_instance.cpp;
 			path = bindings/jni/jni_instance.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		517D5348056BFB5D003851BD = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = jni_instance.h;
 			path = bindings/jni/jni_instance.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		517D5349056BFB5D003851BD = {
 			fileRef = 517D5347056BFB5D003851BD;
@@ -644,20 +611,16 @@
 		5182A45605FFCF4B00CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = c_instance.cpp;
 			path = bindings/c/c_instance.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A45705FFCF4B00CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = c_instance.h;
 			path = bindings/c/c_instance.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A45A05FFCF4B00CBD2F2 = {
 			fileRef = 5182A45605FFCF4B00CBD2F2;
@@ -674,11 +637,9 @@
 		5182A47005FFD45000CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = c_utility.h;
 			path = bindings/c/c_utility.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A47105FFD45000CBD2F2 = {
 			fileRef = 5182A47005FFD45000CBD2F2;
@@ -689,20 +650,16 @@
 		5182A48B05FFFDC400CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = c_runtime.cpp;
 			path = bindings/c/c_runtime.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A48C05FFFDC400CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = c_runtime.h;
 			path = bindings/c/c_runtime.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A48D05FFFDC500CBD2F2 = {
 			fileRef = 5182A48B05FFFDC400CBD2F2;
@@ -719,11 +676,9 @@
 		5182A4FB06010F8200CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = c_utility.cpp;
 			path = bindings/c/c_utility.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A4FC06010F8200CBD2F2 = {
 			fileRef = 5182A4FB06010F8200CBD2F2;
@@ -734,20 +689,16 @@
 		5182A53A06012C3000CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = c_class.cpp;
 			path = bindings/c/c_class.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A53B06012C3000CBD2F2 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = c_class.h;
 			path = bindings/c/c_class.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5182A53C06012C3000CBD2F2 = {
 			fileRef = 5182A53A06012C3000CBD2F2;
@@ -764,20 +715,16 @@
 		51856D8F0562EE95008B9D83 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = jni_utility.cpp;
 			path = bindings/jni/jni_utility.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51856D900562EE95008B9D83 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = jni_utility.h;
 			path = bindings/jni/jni_utility.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51856D910562EE95008B9D83 = {
 			fileRef = 51856D8F0562EE95008B9D83;
@@ -841,15 +788,12 @@
 			isa = PBXGroup;
 			name = bindings;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51856D980562F158008B9D83 = {
 			isa = PBXFileReference;
-			lastKnownFileType = wrapper.framework;
 			name = JavaVM.framework;
 			path = /System/Library/Frameworks/JavaVM.framework;
 			refType = 0;
-			sourceTree = "<absolute>";
 		};
 		51856D990562F158008B9D83 = {
 			fileRef = 51856D980562F158008B9D83;
@@ -860,29 +804,23 @@
 		518CF93605C72271003CF905 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = objc_class.h;
 			path = bindings/objc/objc_class.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		518CF93705C72271003CF905 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.objcpp;
 			name = objc_class.mm;
 			path = bindings/objc/objc_class.mm;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		518CF93805C72271003CF905 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.objcpp;
 			name = objc_runtime.mm;
 			path = bindings/objc/objc_runtime.mm;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		518CF93905C72271003CF905 = {
 			fileRef = 518CF93605C72271003CF905;
@@ -905,20 +843,16 @@
 		5199B1BD061B65BC0070C006 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = npruntime.cpp;
 			path = bindings/npruntime.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5199B1BE061B65BC0070C006 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = npruntime.h;
 			path = bindings/npruntime.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5199B1BF061B65BC0070C006 = {
 			fileRef = 5199B1BD061B65BC0070C006;
@@ -935,11 +869,9 @@
 		5199B265061BB1300070C006 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = npsap.h;
 			path = bindings/npsap.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		5199B266061BB1300070C006 = {
 			fileRef = 5199B265061BB1300070C006;
@@ -950,20 +882,16 @@
 		51A58A8D057D3A6A00A3E942 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = runtime_method.cpp;
 			path = bindings/runtime_method.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51A58A8E057D3A6A00A3E942 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = runtime_method.h;
 			path = bindings/runtime_method.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51A58A8F057D3A6A00A3E942 = {
 			fileRef = 51A58A8D057D3A6A00A3E942;
@@ -980,11 +908,9 @@
 		51C4974105C0A5D4006FBFF5 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = objc_runtime.h;
 			path = bindings/objc/objc_runtime.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51C4974205C0A5D4006FBFF5 = {
 			fileRef = 51C4974105C0A5D4006FBFF5;
@@ -995,11 +921,9 @@
 		51F0EB0005C85A6300E6DF1B = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = objc_instance.h;
 			path = bindings/objc/objc_instance.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51F0EB0205C85A6300E6DF1B = {
 			fileRef = 51F0EB0005C85A6300E6DF1B;
@@ -1010,11 +934,9 @@
 		51F0EB0505C85A9000E6DF1B = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.objcpp;
 			name = objc_instance.mm;
 			path = bindings/objc/objc_instance.mm;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51F0EB0605C85A9000E6DF1B = {
 			fileRef = 51F0EB0505C85A9000E6DF1B;
@@ -1024,11 +946,9 @@
 		};
 		51F0EB6105C86C6B00E6DF1B = {
 			isa = PBXFileReference;
-			lastKnownFileType = wrapper.framework;
 			name = Foundation.framework;
 			path = /System/Library/Frameworks/Foundation.framework;
 			refType = 0;
-			sourceTree = "<absolute>";
 		};
 		51F0EB6205C86C6B00E6DF1B = {
 			fileRef = 51F0EB6105C86C6B00E6DF1B;
@@ -1038,11 +958,9 @@
 		};
 		51F0EC0705C86C9A00E6DF1B = {
 			isa = PBXFileReference;
-			lastKnownFileType = "compiled.mach-o.dylib";
 			name = libobjc.dylib;
 			path = /usr/lib/libobjc.dylib;
 			refType = 0;
-			sourceTree = "<absolute>";
 		};
 		51F0EC0805C86C9A00E6DF1B = {
 			fileRef = 51F0EC0705C86C9A00E6DF1B;
@@ -1053,11 +971,9 @@
 		51F0EC1005C86F3500E6DF1B = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = objc_header.h;
 			path = bindings/objc/objc_header.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51F0EC1105C86F3500E6DF1B = {
 			fileRef = 51F0EC1005C86F3500E6DF1B;
@@ -1068,20 +984,16 @@
 		51F0EC9605C88DC700E6DF1B = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = objc_utility.h;
 			path = bindings/objc/objc_utility.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51F0EC9705C88DC700E6DF1B = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.objcpp;
 			name = objc_utility.mm;
 			path = bindings/objc/objc_utility.mm;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		51F0EC9805C88DC700E6DF1B = {
 			fileRef = 51F0EC9605C88DC700E6DF1B;
@@ -1108,18 +1020,14 @@
 		651F6412039D5B5F0078395C = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = dtoa.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		651F6413039D5B5F0078395C = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = dtoa.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		651F6414039D5B5F0078395C = {
 			fileRef = 651F6412039D5B5F0078395C;
@@ -1144,7 +1052,6 @@
 			isa = PBXGroup;
 			path = kjs;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417203039E01F90058BFEB = {
 			children = (
@@ -1161,52 +1068,41 @@
 			isa = PBXGroup;
 			name = pcre;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417204039E02E70058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.c;
 			name = chartables.c;
 			path = pcre/chartables.c;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417205039E02E70058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.c;
 			name = get.c;
 			path = pcre/get.c;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417206039E02E70058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.c;
 			name = maketables.c;
 			path = pcre/maketables.c;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417207039E02E70058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.c;
 			name = pcre.c;
 			path = pcre/pcre.c;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417208039E02E70058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.c;
 			name = study.c;
 			path = pcre/study.c;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		6541720A039E02E70058BFEB = {
 			fileRef = 65417205039E02E70058BFEB;
@@ -1235,20 +1131,16 @@
 		6541720E039E08B90058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.c;
 			name = dftables.c;
 			path = pcre/dftables.c;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		6541720F039E08B90058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = pcre.h;
 			path = pcre/pcre.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417211039E08B90058BFEB = {
 			fileRef = 6541720F039E08B90058BFEB;
@@ -1262,11 +1154,9 @@
 		65417217039E0B280058BFEB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = "pcre-config.h";
 			path = "pcre/pcre-config.h";
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65417219039E0B390058BFEB = {
 			fileRef = 65417217039E0B280058BFEB;
@@ -1276,11 +1166,9 @@
 		};
 		6560A4CF04B3B3E7008AE952 = {
 			isa = PBXFileReference;
-			lastKnownFileType = wrapper.framework;
 			name = CoreFoundation.framework;
 			path = /System/Library/Frameworks/CoreFoundation.framework;
 			refType = 0;
-			sourceTree = "<absolute>";
 		};
 		6560A4D004B3B3E7008AE952 = {
 			fileRef = 6560A4CF04B3B3E7008AE952;
@@ -1290,11 +1178,9 @@
 		};
 		6560A63D04B3B69F008AE952 = {
 			isa = PBXFileReference;
-			lastKnownFileType = wrapper.framework;
 			name = CoreServices.framework;
 			path = /System/Library/Frameworks/CoreServices.framework;
 			refType = 0;
-			sourceTree = "<absolute>";
 		};
 		6560A63E04B3B69F008AE952 = {
 			fileRef = 6560A63D04B3B69F008AE952;
@@ -1305,18 +1191,14 @@
 		65AB004806261CBA0076DE63 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = interpreter_map.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65AB004906261CBA0076DE63 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = interpreter_map.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		65AB004A06261CBA0076DE63 = {
 			fileRef = 65AB004806261CBA0076DE63;
@@ -1330,6 +1212,21 @@
 			settings = {
 			};
 		};
+		65C02FBB0637462A003E7EE6 = {
+			fileEncoding = 30;
+			isa = PBXFileReference;
+			path = protect.h;
+			refType = 4;
+		};
+		65C02FBC0637462A003E7EE6 = {
+			fileRef = 65C02FBB0637462A003E7EE6;
+			isa = PBXBuildFile;
+			settings = {
+				ATTRIBUTES = (
+					Private,
+				);
+			};
+		};
 //650
 //651
 //652
@@ -1343,10 +1240,8 @@
 		704FD35305697E6D003DBED9 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = bool_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		704FD35405697E6D003DBED9 = {
 			fileRef = 704FD35305697E6D003DBED9;
@@ -1357,11 +1252,9 @@
 		704FD44505698F17003DBED9 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = runtime.cpp;
 			path = bindings/runtime.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		704FD44605698F17003DBED9 = {
 			fileRef = 704FD44505698F17003DBED9;
@@ -1372,20 +1265,16 @@
 		7073BE3C0581291E005EE2C9 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = runtime_array.cpp;
 			path = bindings/runtime_array.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		7073BE3D0581291E005EE2C9 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = runtime_array.h;
 			path = bindings/runtime_array.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		7073BE3E0581291E005EE2C9 = {
 			fileRef = 7073BE3C0581291E005EE2C9;
@@ -1402,11 +1291,9 @@
 		7084D99405DD6211007E4C0E = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = objc_jsobject.h;
 			path = bindings/objc/objc_jsobject.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		7084D99505DD6211007E4C0E = {
 			fileRef = 7084D99405DD6211007E4C0E;
@@ -1417,11 +1304,9 @@
 		7084D9B905DD6CF8007E4C0E = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.objcpp;
 			name = objc_jsobject.mm;
 			path = bindings/objc/objc_jsobject.mm;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		7084D9BA05DD6CF8007E4C0E = {
 			fileRef = 7084D9B905DD6CF8007E4C0E;
@@ -1432,20 +1317,16 @@
 		70B16A260569A10900DB756D = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			name = runtime_object.cpp;
 			path = bindings/runtime_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		70B16A270569A10900DB756D = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = runtime_object.h;
 			path = bindings/runtime_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		70B16A280569A10A00DB756D = {
 			fileRef = 70B16A260569A10900DB756D;
@@ -1475,18 +1356,14 @@
 		931C6CEF038EE8DE008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = list.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		931C6CF0038EE8DE008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = list.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		931C6CF1038EE8DE008635CE = {
 			fileRef = 931C6CEF038EE8DE008635CE;
@@ -1506,18 +1383,14 @@
 		933A3499038AE7C6008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.yacc;
 			path = grammar.y;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		933A349A038AE7C6008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = identifier.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		933A349C038AE7C6008635CE = {
 			fileRef = 933A349A038AE7C6008635CE;
@@ -1531,10 +1404,8 @@
 		933A349D038AE80F008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = identifier.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		933A349E038AE80F008635CE = {
 			fileRef = 933A349D038AE80F008635CE;
@@ -1545,10 +1416,8 @@
 		9364B273045B7D6C00A9CAC1 = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = fpconst.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		9364B274045B7D6C00A9CAC1 = {
 			fileRef = 9364B273045B7D6C00A9CAC1;
@@ -1559,10 +1428,8 @@
 		9373524E038DA8C2008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = context.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		9373524F038DA8C2008635CE = {
 			fileRef = 9373524E038DA8C2008635CE;
@@ -1576,18 +1443,14 @@
 		9374D3A7038D9D74008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = scope_chain.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		9374D3A8038D9D74008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = scope_chain.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		9374D3A9038D9D74008635CE = {
 			fileRef = 9374D3A7038D9D74008635CE;
@@ -1607,11 +1470,9 @@
 		937F4F24048E5B9900CA2AC4 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = internal.h;
 			path = pcre/internal.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		937F4F25048E5B9900CA2AC4 = {
 			fileRef = 937F4F24048E5B9900CA2AC4;
@@ -1622,10 +1483,8 @@
 		938772E5038BFE19008635CE = {
 			fileEncoding = 4;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = array_instance.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		938772E6038BFE19008635CE = {
 			fileRef = 938772E5038BFE19008635CE;
@@ -1646,10 +1505,8 @@
 		F50888B6030BB74C012A967E = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = simple_number.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F50888B7030BB74C012A967E = {
 			fileRef = F50888B6030BB74C012A967E;
@@ -1663,18 +1520,14 @@
 		F5341390030CEEB1018BE7F3 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = reference.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F5341391030CEEB1018BE7F3 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = reference.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F5341392030CEEB1018BE7F3 = {
 			fileRef = F5341390030CEEB1018BE7F3;
@@ -1697,10 +1550,8 @@
 		F5341394030CF5F8018BE7F3 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = reference_list.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F5341395030CF5F8018BE7F3 = {
 			fileRef = F5341394030CF5F8018BE7F3;
@@ -1714,10 +1565,8 @@
 		F54F0800030CD22001B5C2EB = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = reference_list.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F54F0801030CD22001B5C2EB = {
 			fileRef = F54F0800030CD22001B5C2EB;
@@ -1742,10 +1591,8 @@
 		F5BB2BC5030F772101FCFE1D = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = completion.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F5BB2BC7030F772101FCFE1D = {
 			fileRef = F5BB2BC5030F772101FCFE1D;
@@ -1775,16 +1622,13 @@
 			name = "Other Sources";
 			path = "";
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F5C290E60284F98E018635CA = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			name = JavaScriptCorePrefix.h;
 			path = ../JavaScriptCorePrefix.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F5C290E70284F98E018635CA = {
 			fileRef = F5C290E60284F98E018635CA;
@@ -1795,10 +1639,8 @@
 		F5FFE656026B47A6018635CA = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = nodes2string.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F5FFE657026B47A6018635CA = {
 			fileRef = F5FFE656026B47A6018635CA;
@@ -1819,10 +1661,8 @@
 		F68EBB8C0255D4C601FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = config.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F68EBB8E0255D4C601FF60F7 = {
 			fileRef = F68EBB8C0255D4C601FF60F7;
@@ -1836,443 +1676,332 @@
 		F692A84D0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = array_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A84E0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = array_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A84F0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = array_object.lut.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8500255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = bool_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8520255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = collector.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8530255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = collector.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8540255597D01FF60F7 = {
-			fallbackIsa = PBXFileReference;
 			fileEncoding = 30;
 			isa = PBXExecutableFileReference;
-			lastKnownFileType = text.script.perl;
 			path = create_hash_table;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8550255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = date_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8560255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = date_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8570255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = date_object.lut.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8580255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = debugger.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8590255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = debugger.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A85A0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = error_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A85B0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = error_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A85C0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = function_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A85D0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = function_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A85E0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = function.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A85F0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = function.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8610255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = internal.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8620255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = internal.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8630255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = interpreter.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8640255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = interpreter.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8650255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = lexer.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8660255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = lexer.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8670255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = lexer.lut.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8680255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = lookup.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8690255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = lookup.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A86A0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = math_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A86B0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = math_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A86C0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = math_object.lut.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A86D0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = nodes.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A86E0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = nodes.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8700255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = number_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8710255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = number_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8720255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = number_object.lut.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8730255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = object_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8740255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = object_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8750255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8760255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8770255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = operations.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8780255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = operations.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8790255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = property_map.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A87A0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = property_map.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A87B0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = regexp_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A87C0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = regexp_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A87D0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = regexp.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A87E0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = regexp.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A87F0255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = string_object.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8800255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = string_object.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8810255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = string_object.lut.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8840255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = types.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8850255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = ustring.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8860255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = ustring.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8870255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = value.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8880255597D01FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = value.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8890255597D01FF60F7 = {
 			fileRef = F692A84D0255597D01FF60F7;
@@ -2661,26 +2390,20 @@
 		F692A8C802555BA201FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.cpp.cpp;
 			path = grammar.cpp;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8C902555BA201FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = grammar.cpp.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8CA02555BA201FF60F7 = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			lastKnownFileType = sourcecode.c.h;
 			path = grammar.h;
 			refType = 4;
-			sourceTree = "<group>";
 		};
 		F692A8CB02555BA201FF60F7 = {
 			fileRef = F692A8C802555BA201FF60F7;
diff --git a/JavaScriptCore/kjs/context.h b/JavaScriptCore/kjs/context.h
index 071e969..5b29d21 100644
--- a/JavaScriptCore/kjs/context.h
+++ b/JavaScriptCore/kjs/context.h
@@ -26,6 +26,7 @@
 #define KJS_CONTEXT_H
 
 #include "function.h"
+#include "protect.h"
 
 namespace KJS  {
 
@@ -58,11 +59,11 @@ namespace KJS  {
     ContextImp *_callingContext;
     FunctionImp *_function;
     const List *_arguments;
-    Object activation;
+    ProtectedObject activation;
     
     ScopeChain scope;
-    Object variable;
-    Object thisVal;
+    ProtectedObject variable;
+    ProtectedObject thisVal;
 
     LabelStack ls;
     CodeType codeType;
diff --git a/JavaScriptCore/kjs/internal.h b/JavaScriptCore/kjs/internal.h
index 92df484..26a059d 100644
--- a/JavaScriptCore/kjs/internal.h
+++ b/JavaScriptCore/kjs/internal.h
@@ -214,39 +214,39 @@ namespace KJS {
   class SavedBuiltinsInternal {
     friend class InterpreterImp;
   private:
-    Object b_Object;
-    Object b_Function;
-    Object b_Array;
-    Object b_Boolean;
-    Object b_String;
-    Object b_Number;
-    Object b_Date;
-    Object b_RegExp;
-    Object b_Error;
-
-    Object b_ObjectPrototype;
-    Object b_FunctionPrototype;
-    Object b_ArrayPrototype;
-    Object b_BooleanPrototype;
-    Object b_StringPrototype;
-    Object b_NumberPrototype;
-    Object b_DatePrototype;
-    Object b_RegExpPrototype;
-    Object b_ErrorPrototype;
-
-    Object b_evalError;
-    Object b_rangeError;
-    Object b_referenceError;
-    Object b_syntaxError;
-    Object b_typeError;
-    Object b_uriError;
-
-    Object b_evalErrorPrototype;
-    Object b_rangeErrorPrototype;
-    Object b_referenceErrorPrototype;
-    Object b_syntaxErrorPrototype;
-    Object b_typeErrorPrototype;
-    Object b_uriErrorPrototype;
+    ProtectedObject b_Object;
+    ProtectedObject b_Function;
+    ProtectedObject b_Array;
+    ProtectedObject b_Boolean;
+    ProtectedObject b_String;
+    ProtectedObject b_Number;
+    ProtectedObject b_Date;
+    ProtectedObject b_RegExp;
+    ProtectedObject b_Error;
+
+    ProtectedObject b_ObjectPrototype;
+    ProtectedObject b_FunctionPrototype;
+    ProtectedObject b_ArrayPrototype;
+    ProtectedObject b_BooleanPrototype;
+    ProtectedObject b_StringPrototype;
+    ProtectedObject b_NumberPrototype;
+    ProtectedObject b_DatePrototype;
+    ProtectedObject b_RegExpPrototype;
+    ProtectedObject b_ErrorPrototype;
+
+    ProtectedObject b_evalError;
+    ProtectedObject b_rangeError;
+    ProtectedObject b_referenceError;
+    ProtectedObject b_syntaxError;
+    ProtectedObject b_typeError;
+    ProtectedObject b_uriError;
+
+    ProtectedObject b_evalErrorPrototype;
+    ProtectedObject b_rangeErrorPrototype;
+    ProtectedObject b_referenceErrorPrototype;
+    ProtectedObject b_syntaxErrorPrototype;
+    ProtectedObject b_typeErrorPrototype;
+    ProtectedObject b_uriErrorPrototype;
   };
 
   class InterpreterImp {
@@ -258,7 +258,7 @@ namespace KJS {
     InterpreterImp(Interpreter *interp, const Object &glob);
     ~InterpreterImp();
 
-    Object &globalObject() const { return const_cast<Object &>(global); }
+    ProtectedObject &globalObject() const { return const_cast<ProtectedObject &>(global); }
     Interpreter* interpreter() const { return m_interpreter; }
 
     void initGlobalObject();
@@ -326,46 +326,46 @@ namespace KJS {
   private:
     void clear();
     Interpreter *m_interpreter;
-    Object global;
+    ProtectedObject global;
     Debugger *dbg;
 
     // Built-in properties of the object prototype. These are accessible
     // from here even if they are replaced by js code (e.g. assigning to
     // Array.prototype)
 
-    Object b_Object;
-    Object b_Function;
-    Object b_Array;
-    Object b_Boolean;
-    Object b_String;
-    Object b_Number;
-    Object b_Date;
-    Object b_RegExp;
-    Object b_Error;
-
-    Object b_ObjectPrototype;
-    Object b_FunctionPrototype;
-    Object b_ArrayPrototype;
-    Object b_BooleanPrototype;
-    Object b_StringPrototype;
-    Object b_NumberPrototype;
-    Object b_DatePrototype;
-    Object b_RegExpPrototype;
-    Object b_ErrorPrototype;
-
-    Object b_evalError;
-    Object b_rangeError;
-    Object b_referenceError;
-    Object b_syntaxError;
-    Object b_typeError;
-    Object b_uriError;
-
-    Object b_evalErrorPrototype;
-    Object b_rangeErrorPrototype;
-    Object b_referenceErrorPrototype;
-    Object b_syntaxErrorPrototype;
-    Object b_typeErrorPrototype;
-    Object b_uriErrorPrototype;
+    ProtectedObject b_Object;
+    ProtectedObject b_Function;
+    ProtectedObject b_Array;
+    ProtectedObject b_Boolean;
+    ProtectedObject b_String;
+    ProtectedObject b_Number;
+    ProtectedObject b_Date;
+    ProtectedObject b_RegExp;
+    ProtectedObject b_Error;
+
+    ProtectedObject b_ObjectPrototype;
+    ProtectedObject b_FunctionPrototype;
+    ProtectedObject b_ArrayPrototype;
+    ProtectedObject b_BooleanPrototype;
+    ProtectedObject b_StringPrototype;
+    ProtectedObject b_NumberPrototype;
+    ProtectedObject b_DatePrototype;
+    ProtectedObject b_RegExpPrototype;
+    ProtectedObject b_ErrorPrototype;
+
+    ProtectedObject b_evalError;
+    ProtectedObject b_rangeError;
+    ProtectedObject b_referenceError;
+    ProtectedObject b_syntaxError;
+    ProtectedObject b_typeError;
+    ProtectedObject b_uriError;
+
+    ProtectedObject b_evalErrorPrototype;
+    ProtectedObject b_rangeErrorPrototype;
+    ProtectedObject b_referenceErrorPrototype;
+    ProtectedObject b_syntaxErrorPrototype;
+    ProtectedObject b_typeErrorPrototype;
+    ProtectedObject b_uriErrorPrototype;
 
     ExecState *globExec;
     Interpreter::CompatMode m_compatMode;
diff --git a/JavaScriptCore/kjs/interpreter.h b/JavaScriptCore/kjs/interpreter.h
index d364908..3dbd579 100644
--- a/JavaScriptCore/kjs/interpreter.h
+++ b/JavaScriptCore/kjs/interpreter.h
@@ -28,6 +28,7 @@
 #include "value.h"
 #include "object.h"
 #include "types.h"
+#include "protect.h"
 
 namespace KJS {
 
@@ -427,7 +428,7 @@ namespace KJS {
         : _interpreter(interp), _context(con) { }
     Interpreter *_interpreter;
     ContextImp *_context;
-    Value _exception;
+    ProtectedValue _exception;
   };
 
 }; // namespace
diff --git a/JavaScriptCore/kjs/interpreter_map.h b/JavaScriptCore/kjs/interpreter_map.h
index 90a7d77..016fc0a 100644
--- a/JavaScriptCore/kjs/interpreter_map.h
+++ b/JavaScriptCore/kjs/interpreter_map.h
@@ -34,7 +34,7 @@ namespace KJS {
 	};
 
     public:
-	static InterpreterImp * InterpreterMap::getInterpreterForGlobalObject(ObjectImp *global);
+	static InterpreterImp * getInterpreterForGlobalObject(ObjectImp *global);
 	static void setInterpreterForGlobalObject(InterpreterImp *interpreter, ObjectImp *global);
 	static void removeInterpreterForGlobalObject(ObjectImp *global);
 
diff --git a/JavaScriptCore/kjs/property_map.cpp b/JavaScriptCore/kjs/property_map.cpp
index ceeb67a..16f0f2d 100644
--- a/JavaScriptCore/kjs/property_map.cpp
+++ b/JavaScriptCore/kjs/property_map.cpp
@@ -22,6 +22,7 @@
 #include "property_map.h"
 
 #include "object.h"
+#include "protect.h"
 #include "reference_list.h"
 
 #define DEBUG_PROPERTIES 0
@@ -82,7 +83,7 @@ struct PropertyMapHashTable
 class SavedProperty {
 public:
     Identifier key;
-    Value value;
+    ProtectedValue value;
     int attributes;
 };
 
diff --git a/JavaScriptCore/kjs/reference.h b/JavaScriptCore/kjs/reference.h
index e54dd68..706a15c 100644
--- a/JavaScriptCore/kjs/reference.h
+++ b/JavaScriptCore/kjs/reference.h
@@ -31,6 +31,7 @@ namespace KJS {
   class Reference {
     friend class ReferenceList;
     friend class ReferenceListIterator;
+    friend class ProtectedReference;
   public:
     Reference(const Object& b, const Identifier& p);
     Reference(const Object& b, unsigned p);
diff --git a/JavaScriptCore/kjs/reference_list.cpp b/JavaScriptCore/kjs/reference_list.cpp
index 954a7af..466cd6a 100644
--- a/JavaScriptCore/kjs/reference_list.cpp
+++ b/JavaScriptCore/kjs/reference_list.cpp
@@ -22,6 +22,8 @@
 
 #include "reference_list.h"
 
+#include "protect.h"
+
 namespace KJS {
   class ReferenceListNode {
     friend class ReferenceList;
@@ -31,7 +33,7 @@ namespace KJS {
     ReferenceListNode(const Reference &ref) : reference(ref), next(NULL) {}
 
   private:
-    Reference reference;
+    ProtectedReference reference;
     ReferenceListNode *next;
   };
 
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index f8b213a..4fcfb39 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,17 @@
+2004-04-21  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Darin.
+
+	Preliminary change for conservative GC. Use new "protected"
+	subclasses to GC-protect objects when on heap, since we will soon
+	remove the built-in refcounting of the normal wrapper classes.
+	
+        * ForwardingHeaders/kjs/protect.h: Added.
+        * khtml/ecma/kjs_binding.h:
+        * khtml/ecma/kjs_events.h:
+        * khtml/ecma/kjs_traversal.h:
+        * khtml/ecma/kjs_window.h:
+
 2004-04-22  Darin Adler  <darin at apple.com>
 
         * khtml/ecma/kjs_window.cpp: (Window::get): Removed code that gets properties from the parent.
diff --git a/WebCore/ForwardingHeaders/kjs/protect.h b/WebCore/ForwardingHeaders/kjs/protect.h
new file mode 100644
index 0000000..836d0dd
--- /dev/null
+++ b/WebCore/ForwardingHeaders/kjs/protect.h
@@ -0,0 +1 @@
+#include <JavaScriptCore/protect.h>
diff --git a/WebCore/khtml/ecma/kjs_binding.h b/WebCore/khtml/ecma/kjs_binding.h
index 3aaa3bb..304e5b6 100644
--- a/WebCore/khtml/ecma/kjs_binding.h
+++ b/WebCore/khtml/ecma/kjs_binding.h
@@ -29,6 +29,7 @@
 #include <qptrdict.h>
 #include <kurl.h>
 #include <kjs/lookup.h>
+#include <kjs/protect.h>
 
 class KHTMLPart;
 
diff --git a/WebCore/khtml/ecma/kjs_events.h b/WebCore/khtml/ecma/kjs_events.h
index 0ec51eb..57dfc11 100644
--- a/WebCore/khtml/ecma/kjs_events.h
+++ b/WebCore/khtml/ecma/kjs_events.h
@@ -39,9 +39,9 @@ namespace KJS {
     virtual Object listenerObj() const;
     ObjectImp *listenerObjImp() const { return listenerObj().imp(); }
   protected:
-    mutable Object listener;
+    mutable ProtectedObject listener;
     bool html;
-    Object win;
+    ProtectedObject win;
   };
 
   class JSLazyEventListener : public JSEventListener {
diff --git a/WebCore/khtml/ecma/kjs_traversal.h b/WebCore/khtml/ecma/kjs_traversal.h
index d8cc376..ec7264a 100644
--- a/WebCore/khtml/ecma/kjs_traversal.h
+++ b/WebCore/khtml/ecma/kjs_traversal.h
@@ -100,7 +100,7 @@ namespace KJS {
     virtual ~JSNodeFilter();
     virtual short acceptNode (const DOM::Node &n);
   protected:
-    Object filter;
+    ProtectedObject filter;
   };
 
 }; // namespace
diff --git a/WebCore/khtml/ecma/kjs_window.h b/WebCore/khtml/ecma/kjs_window.h
index af210de..f25c29b 100644
--- a/WebCore/khtml/ecma/kjs_window.h
+++ b/WebCore/khtml/ecma/kjs_window.h
@@ -155,7 +155,7 @@ namespace KJS {
     ~ScheduledAction();
     void execute(Window *window);
 
-    Object func;
+    ProtectedObject func;
     List args;
     QString code;
     bool isFunction;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list