Changeset 192882 in webkit for trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
- Timestamp:
- Dec 1, 2015, 6:39:58 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r192876 r192882 4515 4515 NEXT_OPCODE(op_get_scope); 4516 4516 } 4517 4518 case op_load_arrowfunction_this: { 4519 Node* callee = get(VirtualRegister(JSStack::Callee)); 4520 Node* result; 4521 if (JSArrowFunction* function = callee->dynamicCastConstant<JSArrowFunction*>()) 4522 result = jsConstant(function->boundThis()); 4523 else 4524 result = addToGraph(LoadArrowFunctionThis, callee); 4525 set(VirtualRegister(currentInstruction[1].u.operand), result); 4526 NEXT_OPCODE(op_load_arrowfunction_this); 4527 } 4517 4528 4518 4529 case op_create_direct_arguments: { … … 4564 4575 } 4565 4576 4566 case op_new_func_exp: 4567 case op_new_arrow_func_exp: { 4577 case op_new_func_exp: { 4568 4578 FunctionExecutable* expr = m_inlineStackTop->m_profiledBlock->functionExpr(currentInstruction[3].u.operand); 4569 4579 FrozenValue* frozen = m_graph.freezeStrong(expr); 4570 4580 set(VirtualRegister(currentInstruction[1].u.operand), 4571 4581 addToGraph(NewFunction, OpInfo(frozen), get(VirtualRegister(currentInstruction[2].u.operand)))); 4572 4573 if (opcodeID == op_new_func_exp) { 4574 // Curly braces are necessary 4575 NEXT_OPCODE(op_new_func_exp); 4576 } else { 4577 // Curly braces are necessary 4578 NEXT_OPCODE(op_new_arrow_func_exp); 4579 } 4582 NEXT_OPCODE(op_new_func_exp); 4583 } 4584 4585 case op_new_arrow_func_exp: { 4586 FunctionExecutable* expr = m_inlineStackTop->m_profiledBlock->functionExpr(currentInstruction[3].u.operand); 4587 FrozenValue* frozen = m_graph.freezeStrong(expr); 4588 4589 set(VirtualRegister(currentInstruction[1].u.operand), 4590 addToGraph(NewArrowFunction, OpInfo(frozen), 4591 get(VirtualRegister(currentInstruction[2].u.operand)), 4592 get(VirtualRegister(currentInstruction[4].u.operand)))); 4593 4594 NEXT_OPCODE(op_new_arrow_func_exp); 4580 4595 } 4581 4596
Note:
See TracChangeset
for help on using the changeset viewer.