Changeset 37670 in webkit for trunk/JavaScriptCore/VM/CodeBlock.cpp
- Timestamp:
- Oct 17, 2008, 7:51:52 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CodeBlock.cpp
r37366 r37670 31 31 #include "CodeBlock.h" 32 32 33 #include "CTI.h" 33 34 #include "JSValue.h" 34 35 #include "Machine.h" … … 932 933 if (structureIDInstructions[i].stubRoutine) 933 934 fastFree(structureIDInstructions[i].stubRoutine); 934 } 935 #if ENABLE(CTI) 935 if (CallLinkInfo* callLinkInfo = structureIDInstructions[i].linkInfoPtr) { 936 callLinkInfo->callee->removeCaller(callLinkInfo); 937 delete callLinkInfo; 938 } 939 } 940 941 #if ENABLE(CTI) 942 unlinkCallers(); 943 936 944 if (ctiCode) 937 945 fastFree(ctiCode); 938 946 #endif 939 947 } 948 949 #if ENABLE(CTI) 950 void CodeBlock::unlinkCallers() 951 { 952 size_t size = linkedCallerList.size(); 953 for (size_t i = 0; i < size; ++i) { 954 CallLinkInfo* currentCaller = linkedCallerList[i]; 955 CTI::unlinkCall(currentCaller->callerStructureStubInfo); 956 currentCaller->callerStructureStubInfo->linkInfoPtr = 0; 957 delete currentCaller; 958 } 959 linkedCallerList.clear(); 960 } 961 #endif 940 962 941 963 void CodeBlock::derefStructureIDs(Instruction* vPC) const … … 974 996 975 997 // These instructions don't ref their StructureIDs. 976 ASSERT(vPC[0].u.opcode == machine->getOpcode(op_get_by_id) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id) || vPC[0].u.opcode == machine->getOpcode(op_get_by_id_generic) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id_generic) || vPC[0].u.opcode == machine->getOpcode(op_get_array_length) || vPC[0].u.opcode == machine->getOpcode(op_get_string_length)); 998 ASSERT(vPC[0].u.opcode == machine->getOpcode(op_get_by_id) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id) || vPC[0].u.opcode == machine->getOpcode(op_get_by_id_generic) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id_generic) || vPC[0].u.opcode == machine->getOpcode(op_get_array_length) || vPC[0].u.opcode == machine->getOpcode(op_get_string_length) 999 || vPC[0].u.opcode == machine->getOpcode(op_call_eval) || vPC[0].u.opcode == machine->getOpcode(op_call) || vPC[0].u.opcode == machine->getOpcode(op_construct)); 977 1000 } 978 1001
Note:
See TracChangeset
for help on using the changeset viewer.