Changeset 192814 in webkit for trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
- Timestamp:
- Nov 30, 2015, 12:36:54 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r192671 r192814 3332 3332 } 3333 3333 3334 case op_get_rest_length: { 3335 InlineCallFrame* inlineCallFrame = this->inlineCallFrame(); 3336 Node* length; 3337 if (inlineCallFrame && !inlineCallFrame->isVarargs()) { 3338 unsigned argumentsLength = inlineCallFrame->arguments.size() - 1; 3339 unsigned numParamsToSkip = currentInstruction[2].u.unsignedValue; 3340 JSValue restLength; 3341 if (argumentsLength <= numParamsToSkip) 3342 restLength = jsNumber(0); 3343 else 3344 restLength = jsNumber(argumentsLength - numParamsToSkip); 3345 3346 length = jsConstant(restLength); 3347 } else 3348 length = addToGraph(GetRestLength, OpInfo(currentInstruction[2].u.unsignedValue)); 3349 set(VirtualRegister(currentInstruction[1].u.operand), length); 3350 NEXT_OPCODE(op_get_rest_length); 3351 } 3352 3334 3353 case op_copy_rest: { 3335 3354 noticeArgumentsUse(); 3336 addToGraph(CopyRest, 3337 OpInfo(currentInstruction[2].u.unsignedValue), get(VirtualRegister(currentInstruction[1].u.operand))); 3355 Node* array = get(VirtualRegister(currentInstruction[1].u.operand)); 3356 Node* arrayLength = get(VirtualRegister(currentInstruction[2].u.operand)); 3357 addToGraph(CopyRest, OpInfo(currentInstruction[3].u.unsignedValue), 3358 array, arrayLength); 3338 3359 NEXT_OPCODE(op_copy_rest); 3339 3360 }
Note:
See TracChangeset
for help on using the changeset viewer.