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