Changeset 143553 in webkit
- Timestamp:
- Feb 20, 2013, 6:43:36 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r143548 r143553 1 2013-02-20 Filip Pizlo <fpizlo@apple.com> 2 3 DFG inlines Resolves that it doesn't know how to handle correctly 4 https://bugs.webkit.org/show_bug.cgi?id=110405 5 6 Reviewed by Geoffrey Garen. 7 8 * fast/js/dfg-inline-resolve-expected.txt: Added. 9 * fast/js/dfg-inline-resolve.html: Added. 10 1 11 2013-02-20 Christian Biesinger <cbiesinger@chromium.org> 2 12 -
trunk/Source/JavaScriptCore/ChangeLog
r143529 r143553 1 2013-02-20 Filip Pizlo <fpizlo@apple.com> 2 3 DFG inlines Resolves that it doesn't know how to handle correctly 4 https://bugs.webkit.org/show_bug.cgi?id=110405 5 6 Reviewed by Geoffrey Garen. 7 8 Don't try to be clever: if there's a failing resolve, we can't inline it, period. 9 10 * dfg/DFGCapabilities.h: 11 (JSC::DFG::canInlineResolveOperations): 12 (JSC::DFG::canInlineOpcode): 13 1 14 2013-02-20 Roger Fong <roger_fong@apple.com> 2 15 -
trunk/Source/JavaScriptCore/dfg/DFGCapabilities.h
r142769 r143553 49 49 50 50 // Opcode checking. 51 inline bool canInlineResolveOperations( OpcodeID opcode,ResolveOperations* operations)51 inline bool canInlineResolveOperations(ResolveOperations* operations) 52 52 { 53 53 for (unsigned i = 0; i < operations->size(); i++) { … … 66 66 67 67 case ResolveOperation::Fail: 68 switch (opcode) { 69 case op_resolve_base_to_global_dynamic: 70 case op_resolve_base_to_scope_with_top_scope_check: 71 case op_resolve_base_to_global: 72 case op_resolve_base_to_scope: 73 CRASH(); 74 case op_resolve_with_base: 75 case op_resolve_with_this: 76 return false; 77 default: 78 continue; 79 } 68 // Fall-back resolves don't know how to deal with the ExecState* having a different 69 // global object (and scope) than the inlined code that is invoking that resolve. 70 return false; 80 71 81 72 case ResolveOperation::SkipTopScopeNode: … … 236 227 case op_resolve_scoped_var_on_top_scope: 237 228 case op_resolve_scoped_var_with_top_scope_check: 238 return canInlineResolveOperations( opcodeID,pc[3].u.resolveOperations);229 return canInlineResolveOperations(pc[3].u.resolveOperations); 239 230 240 231 case op_resolve_base_to_global: … … 245 236 case op_resolve_with_base: 246 237 case op_resolve_with_this: 247 return canInlineResolveOperations( opcodeID,pc[4].u.resolveOperations);238 return canInlineResolveOperations(pc[4].u.resolveOperations); 248 239 249 240 // Inlining doesn't correctly remap regular expression operands.
Note:
See TracChangeset
for help on using the changeset viewer.