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