Changeset 193606 in webkit for trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
- Timestamp:
- Dec 6, 2015, 5:54:43 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r193584 r193606 4508 4508 NEXT_OPCODE(op_get_scope); 4509 4509 } 4510 4511 case op_load_arrowfunction_this: { 4512 Node* callee = get(VirtualRegister(JSStack::Callee)); 4513 Node* result; 4514 if (JSArrowFunction* function = callee->dynamicCastConstant<JSArrowFunction*>()) 4515 result = jsConstant(function->boundThis()); 4516 else 4517 result = addToGraph(LoadArrowFunctionThis, callee); 4518 set(VirtualRegister(currentInstruction[1].u.operand), result); 4519 NEXT_OPCODE(op_load_arrowfunction_this); 4520 } 4510 4521 4511 4522 case op_create_direct_arguments: { … … 4557 4568 } 4558 4569 4559 case op_new_func_exp: 4560 case op_new_arrow_func_exp: { 4570 case op_new_func_exp: { 4561 4571 FunctionExecutable* expr = m_inlineStackTop->m_profiledBlock->functionExpr(currentInstruction[3].u.operand); 4562 4572 FrozenValue* frozen = m_graph.freezeStrong(expr); 4563 4573 set(VirtualRegister(currentInstruction[1].u.operand), 4564 4574 addToGraph(NewFunction, OpInfo(frozen), get(VirtualRegister(currentInstruction[2].u.operand)))); 4565 4566 if (opcodeID == op_new_func_exp) { 4567 // Curly braces are necessary 4568 NEXT_OPCODE(op_new_func_exp); 4569 } else { 4570 // Curly braces are necessary 4571 NEXT_OPCODE(op_new_arrow_func_exp); 4572 } 4575 NEXT_OPCODE(op_new_func_exp); 4576 } 4577 4578 case op_new_arrow_func_exp: { 4579 FunctionExecutable* expr = m_inlineStackTop->m_profiledBlock->functionExpr(currentInstruction[3].u.operand); 4580 FrozenValue* frozen = m_graph.freezeStrong(expr); 4581 4582 set(VirtualRegister(currentInstruction[1].u.operand), 4583 addToGraph(NewArrowFunction, OpInfo(frozen), 4584 get(VirtualRegister(currentInstruction[2].u.operand)), 4585 get(VirtualRegister(currentInstruction[4].u.operand)))); 4586 4587 NEXT_OPCODE(op_new_arrow_func_exp); 4573 4588 } 4574 4589
Note:
See TracChangeset
for help on using the changeset viewer.