Changeset 46879 in webkit for trunk/JavaScriptCore/bytecode/StructureStubInfo.h
- Timestamp:
- Aug 6, 2009, 8:05:42 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecode/StructureStubInfo.h
r46620 r46879 36 36 namespace JSC { 37 37 38 enum AccessType { 39 access_get_by_id_self, 40 access_get_by_id_proto, 41 access_get_by_id_chain, 42 access_get_by_id_self_list, 43 access_get_by_id_proto_list, 44 access_put_by_id_transition, 45 access_put_by_id_replace, 46 access_get_by_id, 47 access_put_by_id, 48 access_get_by_id_generic, 49 access_put_by_id_generic, 50 access_get_array_length, 51 access_get_string_length, 52 }; 53 38 54 struct StructureStubInfo { 39 StructureStubInfo(OpcodeID opcodeID) 40 : opcodeID(opcodeID) 55 StructureStubInfo(AccessType accessType) 56 : accessType(accessType) 57 , seen(false) 41 58 { 42 59 } … … 44 61 void initGetByIdSelf(Structure* baseObjectStructure) 45 62 { 46 opcodeID = op_get_by_id_self;63 accessType = access_get_by_id_self; 47 64 48 65 u.getByIdSelf.baseObjectStructure = baseObjectStructure; … … 52 69 void initGetByIdProto(Structure* baseObjectStructure, Structure* prototypeStructure) 53 70 { 54 opcodeID = op_get_by_id_proto;71 accessType = access_get_by_id_proto; 55 72 56 73 u.getByIdProto.baseObjectStructure = baseObjectStructure; … … 63 80 void initGetByIdChain(Structure* baseObjectStructure, StructureChain* chain) 64 81 { 65 opcodeID = op_get_by_id_chain;82 accessType = access_get_by_id_chain; 66 83 67 84 u.getByIdChain.baseObjectStructure = baseObjectStructure; … … 74 91 void initGetByIdSelfList(PolymorphicAccessStructureList* structureList, int listSize) 75 92 { 76 opcodeID = op_get_by_id_self_list;93 accessType = access_get_by_id_self_list; 77 94 78 95 u.getByIdProtoList.structureList = structureList; … … 82 99 void initGetByIdProtoList(PolymorphicAccessStructureList* structureList, int listSize) 83 100 { 84 opcodeID = op_get_by_id_proto_list;101 accessType = access_get_by_id_proto_list; 85 102 86 103 u.getByIdProtoList.structureList = structureList; … … 92 109 void initPutByIdTransition(Structure* previousStructure, Structure* structure, StructureChain* chain) 93 110 { 94 opcodeID = op_put_by_id_transition;111 accessType = access_put_by_id_transition; 95 112 96 113 u.putByIdTransition.previousStructure = previousStructure; … … 106 123 void initPutByIdReplace(Structure* baseObjectStructure) 107 124 { 108 opcodeID = op_put_by_id_replace;125 accessType = access_put_by_id_replace; 109 126 110 127 u.putByIdReplace.baseObjectStructure = baseObjectStructure; … … 114 131 void deref(); 115 132 116 OpcodeID opcodeID; 133 bool seenOnce() 134 { 135 return seen; 136 } 137 138 void setSeen() 139 { 140 seen = true; 141 } 142 143 int accessType : 31; 144 int seen : 1; 145 117 146 union { 118 147 struct {
Note:
See TracChangeset
for help on using the changeset viewer.