Changeset 40846 in webkit for trunk/JavaScriptCore/interpreter/Interpreter.cpp
- Timestamp:
- Feb 10, 2009, 8:57:08 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/interpreter/Interpreter.cpp
r40813 r40846 4521 4521 if (stubInfo->opcodeID == op_get_by_id_self) { 4522 4522 ASSERT(!stubInfo->stubRoutine); 4523 polymorphicStructureList = new PolymorphicAccessStructureList( 0, stubInfo->u.getByIdSelf.baseObjectStructure);4523 polymorphicStructureList = new PolymorphicAccessStructureList(MacroAssembler::CodeLocationLabel(), stubInfo->u.getByIdSelf.baseObjectStructure); 4524 4524 stubInfo->initGetByIdSelfList(polymorphicStructureList, 2); 4525 4525 } else { … … 4547 4547 case op_get_by_id_proto: 4548 4548 prototypeStructureList = new PolymorphicAccessStructureList(stubInfo->stubRoutine, stubInfo->u.getByIdProto.baseObjectStructure, stubInfo->u.getByIdProto.prototypeStructure); 4549 stubInfo->stubRoutine = 0;4549 stubInfo->stubRoutine.reset(); 4550 4550 stubInfo->initGetByIdProtoList(prototypeStructureList, 2); 4551 4551 break; 4552 4552 case op_get_by_id_chain: 4553 4553 prototypeStructureList = new PolymorphicAccessStructureList(stubInfo->stubRoutine, stubInfo->u.getByIdChain.baseObjectStructure, stubInfo->u.getByIdChain.chain); 4554 stubInfo->stubRoutine = 0;4554 stubInfo->stubRoutine.reset(); 4555 4555 stubInfo->initGetByIdProtoList(prototypeStructureList, 2); 4556 4556 break; … … 5779 5779 5780 5780 ARG_setCallFrame(callFrame); 5781 void* catchRoutine = handler->nativeCode ;5781 void* catchRoutine = handler->nativeCode.addressForExceptionHandler(); 5782 5782 ASSERT(catchRoutine); 5783 5783 STUB_SET_RETURN_ADDRESS(catchRoutine); … … 5973 5973 5974 5974 if (scrutinee.isInt32Fast()) 5975 return codeBlock->immediateSwitchJumpTable(tableIndex).ctiForValue(scrutinee.getInt32Fast()) ;5975 return codeBlock->immediateSwitchJumpTable(tableIndex).ctiForValue(scrutinee.getInt32Fast()).addressForSwitch(); 5976 5976 else { 5977 5977 int32_t value; 5978 5978 if (scrutinee.numberToInt32(value)) 5979 return codeBlock->immediateSwitchJumpTable(tableIndex).ctiForValue(value) ;5979 return codeBlock->immediateSwitchJumpTable(tableIndex).ctiForValue(value).addressForSwitch(); 5980 5980 else 5981 return codeBlock->immediateSwitchJumpTable(tableIndex).ctiDefault ;5981 return codeBlock->immediateSwitchJumpTable(tableIndex).ctiDefault.addressForSwitch(); 5982 5982 } 5983 5983 } … … 5992 5992 CodeBlock* codeBlock = callFrame->codeBlock(); 5993 5993 5994 void* result = codeBlock->characterSwitchJumpTable(tableIndex).ctiDefault ;5994 void* result = codeBlock->characterSwitchJumpTable(tableIndex).ctiDefault.addressForSwitch(); 5995 5995 5996 5996 if (scrutinee.isString()) { 5997 5997 UString::Rep* value = asString(scrutinee)->value().rep(); 5998 5998 if (value->size() == 1) 5999 result = codeBlock->characterSwitchJumpTable(tableIndex).ctiForValue(value->data()[0]) ;5999 result = codeBlock->characterSwitchJumpTable(tableIndex).ctiForValue(value->data()[0]).addressForSwitch(); 6000 6000 } 6001 6001 … … 6012 6012 CodeBlock* codeBlock = callFrame->codeBlock(); 6013 6013 6014 void* result = codeBlock->stringSwitchJumpTable(tableIndex).ctiDefault ;6014 void* result = codeBlock->stringSwitchJumpTable(tableIndex).ctiDefault.addressForSwitch(); 6015 6015 6016 6016 if (scrutinee.isString()) { 6017 6017 UString::Rep* value = asString(scrutinee)->value().rep(); 6018 result = codeBlock->stringSwitchJumpTable(tableIndex).ctiForValue(value) ;6018 result = codeBlock->stringSwitchJumpTable(tableIndex).ctiForValue(value).addressForSwitch(); 6019 6019 } 6020 6020 … … 6120 6120 6121 6121 ARG_setCallFrame(callFrame); 6122 void* catchRoutine = handler->nativeCode ;6122 void* catchRoutine = handler->nativeCode.addressForExceptionHandler(); 6123 6123 ASSERT(catchRoutine); 6124 6124 STUB_SET_RETURN_ADDRESS(catchRoutine);
Note:
See TracChangeset
for help on using the changeset viewer.