Changeset 64938 in webkit for trunk/JavaScriptCore/bytecode/StructureStubInfo.h
- Timestamp:
- Aug 7, 2010, 11:04:59 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecode/StructureStubInfo.h
r64608 r64938 31 31 #include "Instruction.h" 32 32 #include "MacroAssembler.h" 33 #include "PropertySlot.h" 33 34 #include "Opcode.h" 34 35 #include "Structure.h" … … 67 68 } 68 69 70 #if ENABLE(MOVABLE_GC_OBJECTS) 71 void initGetByIdProto(Structure* baseObjectStructure, Structure* prototypeStructure, CodeLocationLabel routine, PropertySlot::CachedPropertyType propertyType) 72 #else 69 73 void initGetByIdProto(Structure* baseObjectStructure, Structure* prototypeStructure, CodeLocationLabel routine) 74 #endif 70 75 { 71 76 accessType = access_get_by_id_proto; … … 78 83 79 84 stubRoutine = routine; 80 } 81 85 86 #if ENABLE(MOVABLE_GC_OBJECTS) 87 u.getByIdProto.propertyType = propertyType; 88 #endif 89 } 90 91 #if ENABLE(MOVABLE_GC_OBJECTS) 92 void initGetByIdChain(Structure* baseObjectStructure, StructureChain* chain, CodeLocationLabel routine, int count, PropertySlot::CachedPropertyType propertyType) 93 #else 82 94 void initGetByIdChain(Structure* baseObjectStructure, StructureChain* chain, CodeLocationLabel routine) 95 #endif 83 96 { 84 97 accessType = access_get_by_id_chain; … … 91 104 92 105 stubRoutine = routine; 106 107 #if ENABLE(MOVABLE_GC_OBJECTS) 108 u.getByIdChain.count = count; 109 u.getByIdChain.propertyType = propertyType; 110 #endif 93 111 } 94 112 … … 140 158 141 159 void deref(); 160 #if ENABLE(MOVABLE_GC_OBJECTS) 161 void markAggregate(MarkStack&, CodeBlock*); 162 #endif 142 163 143 164 bool seenOnce() … … 161 182 Structure* baseObjectStructure; 162 183 Structure* prototypeStructure; 184 #if ENABLE(MOVABLE_GC_OBJECTS) 185 // The propertyType is required to properly determine the 186 // structure of the underlying code so that we may patch it 187 // correctly. Different code is generated for different 188 // property types, and therefore, the offsets that we need to 189 // patch at will change. 190 PropertySlot::CachedPropertyType propertyType; 191 #endif 163 192 } getByIdProto; 164 193 struct { 165 194 Structure* baseObjectStructure; 166 195 StructureChain* chain; 196 #if ENABLE(MOVABLE_GC_OBJECTS) 197 // We need the count so that we can iterate over the prototype 198 // chain, marking all of the references to objects. 199 int count; 200 PropertySlot::CachedPropertyType propertyType; 201 #endif 167 202 } getByIdChain; 168 203 struct {
Note:
See TracChangeset
for help on using the changeset viewer.