Changeset 36418 in webkit for trunk/JavaScriptCore/VM/CodeBlock.h
- Timestamp:
- Sep 14, 2008, 7:18:13 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CodeBlock.h
r36267 r36418 77 77 }; 78 78 79 struct StructureStubInfo { 80 StructureStubInfo(unsigned opcodeIndex) 81 : opcodeIndex(opcodeIndex) 82 , stubRoutine(0) 83 , callReturnLocation(0) 84 , hotPathBegin(0) 85 { 86 } 87 88 unsigned opcodeIndex; 89 void* stubRoutine; 90 void* callReturnLocation; 91 void* hotPathBegin; 92 }; 93 79 94 struct StringJumpTable { 80 95 typedef HashMap<RefPtr<UString::Rep>, OffsetLocation> StringOffsetTable; … … 200 215 void derefStructureIDs(Instruction* vPC) const; 201 216 217 StructureStubInfo& getStubInfo(void* returnAddress) 218 { 219 // FIXME: would a binary chop be faster here? 220 for (unsigned i = 0; i < structureIDInstructions.size(); ++i) { 221 if (structureIDInstructions[i].callReturnLocation == returnAddress) 222 return structureIDInstructions[i]; 223 } 224 225 ASSERT_NOT_REACHED(); 226 // keep the compiler happy. 227 static StructureStubInfo duff(0); 228 return duff; 229 } 230 202 231 ScopeNode* ownerNode; 203 232 JSGlobalData* globalData; … … 219 248 220 249 Vector<Instruction> instructions; 221 Vector<size_t> structureIDInstructions; 222 Vector<void*> structureIDAccessStubs; 250 Vector<StructureStubInfo> structureIDInstructions; 223 251 224 252 // Constant pool
Note:
See TracChangeset
for help on using the changeset viewer.