Changeset 139540 in webkit
- Timestamp:
- Jan 11, 2013, 8:22:32 PM (12 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r139528 r139540 1 2013-01-11 Filip Pizlo <fpizlo@apple.com> 2 3 If you use Phantom to force something to be live across an OSR exit, you should put it after the OSR exit 4 https://bugs.webkit.org/show_bug.cgi?id=106724 5 6 Reviewed by Oliver Hunt. 7 8 In cases where we were getting it wrong, I think it was benign because we would either already have an 9 OSR exit prior to there, or the operand would be a constant. But still, it's good to get this right. 10 11 * dfg/DFGByteCodeParser.cpp: 12 (JSC::DFG::ByteCodeParser::parseBlock): 13 1 14 2013-01-11 Filip Pizlo <fpizlo@apple.com> 2 15 -
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r139506 r139540 3014 3014 3015 3015 if (putToBase->m_isDynamic) { 3016 addToGraph(Phantom, get(base));3017 3016 addToGraph(PutById, OpInfo(identifier), get(base), get(value)); 3018 3017 NEXT_OPCODE(op_put_to_base); … … 3021 3020 switch (putToBase->m_kind) { 3022 3021 case PutToBaseOperation::Uninitialised: 3022 addToGraph(ForceOSRExit); 3023 3023 addToGraph(Phantom, get(base)); 3024 addToGraph(ForceOSRExit);3025 3024 break; 3026 3025 … … 3050 3049 case PutToBaseOperation::GlobalPropertyPut: { 3051 3050 if (!putToBase->m_structure) { 3051 addToGraph(ForceOSRExit); 3052 3052 addToGraph(Phantom, get(base)); 3053 addToGraph(ForceOSRExit);3054 3053 NEXT_OPCODE(op_put_to_base); 3055 3054 } … … 3071 3070 case PutToBaseOperation::Readonly: 3072 3071 case PutToBaseOperation::Generic: 3073 addToGraph(Phantom, get(base));3074 3072 addToGraph(PutById, OpInfo(identifier), get(base), get(value)); 3075 3073 }
Note:
See TracChangeset
for help on using the changeset viewer.