Changeset 38652 in webkit for trunk/JavaScriptCore/bytecode/Instruction.h
- Timestamp:
- Nov 20, 2008, 9:04:19 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecode/Instruction.h
r38498 r38652 34 34 #include <wtf/VectorTraits.h> 35 35 36 #define PROTOTYPE_LIST_CACHE_SIZE 4 37 36 38 namespace JSC { 37 39 … … 39 41 class Structure; 40 42 class StructureChain; 43 44 // Structure used by op_get_by_id_proto_list instruction to hold data off the main opcode stream. 45 struct PrototypeStructureList { 46 struct ProtoStubInfo { 47 Structure* base; 48 Structure* proto; 49 int cachedOffset; 50 void* stubRoutine; 51 52 void set(Structure* _base, Structure* _proto, int _cachedOffset, void* _stubRoutine) 53 { 54 base = _base; 55 proto = _proto; 56 cachedOffset = _cachedOffset; 57 stubRoutine = _stubRoutine; 58 } 59 } list[PROTOTYPE_LIST_CACHE_SIZE]; 60 61 PrototypeStructureList(Structure* firstBase, Structure* firstProto, int cachedOffset, void* stubRoutine) 62 { 63 list[0].set(firstBase, firstProto, cachedOffset, stubRoutine); 64 } 65 }; 41 66 42 67 struct Instruction { … … 53 78 Instruction(StructureChain* structureChain) { u.structureChain = structureChain; } 54 79 Instruction(JSCell* jsCell) { u.jsCell = jsCell; } 80 Instruction(PrototypeStructureList* prototypeStructure) { u.prototypeStructure = prototypeStructure; } 55 81 56 82 union { … … 61 87 JSCell* jsCell; 62 88 ResultType::Type resultType; 89 PrototypeStructureList* prototypeStructure; 63 90 } u; 64 91 };
Note:
See TracChangeset
for help on using the changeset viewer.