• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/JavaScriptCore-7600.1.17/bytecompiler/

Lines Matching +defs:function +defs:list

58     Details of the emitBytecode function.
303 // Iterate over the remaining properties in the list.
490 // This passes NoExpectedFunction because we expect that if the function is in a
513 RefPtr<RegisterID> function = generator.emitGetByVal(generator.tempDestination(dst), base.get(), property);
514 RefPtr<RegisterID> returnValue = generator.finalDestination(dst, function.get());
517 return generator.emitCall(returnValue.get(), function.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
524 RefPtr<RegisterID> function = generator.tempDestination(dst);
525 RefPtr<RegisterID> returnValue = generator.finalDestination(dst, function.get());
529 generator.emitGetById(function.get(), callArguments.thisRegister(), m_ident);
530 return generator.emitCall(returnValue.get(), function.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
550 RefPtr<RegisterID> function;
553 function = generator.emitGetById(generator.tempDestination(dst), base.get(), generator.propertyNames().builtinNames().callPublicName());
554 generator.emitJumpIfNotFunctionCall(function.get(), realCall.get());
596 generator.emitCall(returnValue.get(), function.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
611 // A few simple cases can be trivially handled as ordinary function calls.
612 // function.apply(), function.apply(arg) -> identical to function.call
613 // function.apply(thisArg, [arg0, arg1, ...]) -> can be trivially coerced into function.call(thisArg, arg0, arg1, ...) and saves object allocation
620 RefPtr<RegisterID> function;
621 RefPtr<RegisterID> returnValue = generator.finalDestination(dst, function.get());
624 function = generator.emitGetById(generator.tempDestination(dst), base.get(), generator.propertyNames().builtinNames().applyPublicName());
625 generator.emitJumpIfNotFunctionApply(function.get(), realCall.get());
707 generator.emitCall(returnValue.get(), function.get(), NoExpectedFunction, callArguments, divot(), divotStart(), divotEnd());
1025 // This function expects to be operating on a graph of AST nodes looking something like this:
1052 // Create a list of expressions for all the adds in the tree of nodes we can convert into
1060 // to the list, and keep processing along the left fork.
2054 static void processClauseList(ClauseListNode* list, Vector<ExpressionNode*, 8>& literalVector, SwitchKind& typeForTable, bool& singleCharacterSwitch, int32_t& min_num, int32_t& max_num)
2056 for (; list; list = list->getNext()) {
2057 ExpressionNode* clauseExpression = list->getClause()->expr();
2153 for (ClauseListNode* list = m_list1; list; list = list->getNext()) {
2155 generator.emitNode(clauseVal.get(), list->getClause()->expr());
2161 for (ClauseListNode* list = m_list2; list; list = list->getNext()) {
2163 generator.emitNode(clauseVal.get(), list->getClause()->expr());
2173 for (ClauseListNode* list = m_list1; list; list = list->getNext()) {
2175 list->getClause()->emitBytecode(generator, dst);
2183 for (ClauseListNode* list = m_list2; list; list = list->getNext()) {
2185 list->getClause()->emitBytecode(generator, dst);
2347 // Check for a return statement at the end of a function composed of a single block.
2363 // If there is a return statment, and it is the only statement in the function, check if this is a numeric compare.