Lines Matching refs:FUNCTION
92 // Generate code for a JS function. On entry to the function the receiver
95 // function.
98 // o r1: the JS function object being called (i.e., ourselves)
105 // The function builds a JS frame. Please see JavaScriptFrameConstants in
110 isolate()->factory()->NewFixedArray(function()->handler_count(), TENURED);
114 SetFunctionPosition(function());
115 Comment cmnt(masm_, "[ function compiled by full code generator");
121 info->function()->name()->IsUtf8EqualTo(CStrVector(FLAG_stop_at))) {
156 DCHECK(!info->function()->is_generator() || locals_count == 0);
195 // Argument to NewContext is the function, which is still in r1.
245 // Function uses arguments object.
262 // function, receiver address, parameter count.
268 } else if (function()->has_duplicate_parameters()) {
292 // For named function expressions, declare the function name as a
294 if (scope()->is_function_scope() && scope()->function() != NULL) {
295 VariableDeclaration* function = scope()->function();
296 DCHECK(function->proxy()->var()->mode() == CONST ||
297 function->proxy()->var()->mode() == CONST_LEGACY);
298 DCHECK(function->proxy()->var()->location() != Variable::UNALLOCATED);
299 VisitVariableDeclaration(function);
319 VisitStatements(function()->body());
454 CodeGenerator::RecordPositions(masm_, function()->end_position() - 1);
780 // context. Otherwise, we let the Visit function deal with the
797 // The variable in the declaration always resides in the current function
882 Handle<SharedFunctionInfo> function =
885 if (function.is_null()) return SetStackOverflow();
886 globals_->Add(function, zone());
904 // We know that we have written a function, which is not a smi.
922 // Push initial value for function declaration.
1330 // flag, we need to use the runtime function so that the new function
1464 // This function is used only for loads, not stores, so it's safe to
1542 // same function or in the same eval code) and the VariableProxy is in
1552 // function() { f(); let x = 1; function f() { x = 2; } }
1613 // r4 = JS function, literals array
1627 // Create regexp literal using runtime function.
2123 __ Drop(1); // The function is still on the stack; drop it.
2176 // Load suspended function and context.
2184 // Push holes for the rest of the arguments to the generator function.
2207 // r4 = callee's JS function.
2671 callee->IsVariableProxy() ? CallICState::FUNCTION : CallICState::METHOD;
2673 // Get the target function.
2674 if (call_type == CallICState::FUNCTION) {
2683 // Load the function from the receiver.
2689 // Push the target function under the receiver.
2708 // Load the function from the receiver.
2728 // Replace home_object with target function.
2732 // - target function
2746 // Load the function from the receiver.
2753 // Push the target function under the receiver.
2797 // r4: the receiver of the enclosing function.
2800 // r3: the receiver of the enclosing function.
2820 // through this function. Avoid early returns.
2830 // to resolve the function we need to call and the receiver of the
2831 // call. Then we call the resolved function using the given
2846 // Push a copy of the function
2852 // The runtime call returns a pair of values in r0 (function) and
2882 // Call the runtime to find the function to call (returned in r0)
2888 __ Push(r0, r1); // Function, receiver.
2891 // function and receiver and have the slow path jump around this
2897 // Push function.
2900 // by passing the hole to the call function stub.
2934 // Emit function call.
2947 // According to ECMA-262, section 11.2.2, page 44, the function
2951 // Push constructor on the stack. If it's not a function it's used as
2967 // Load function and argument count into r1 and r0.
3380 Label done, null, function, non_function_constructor;
3388 // functions to make sure they have 'Function' as their class.
3397 __ b(eq, &function);
3402 __ b(eq, &function);
3406 // Check if the constructor in the map is a JS function.
3411 // r0 now contains the constructor function. Grab the
3417 // Functions have class 'Function'.
3418 __ bind(&function);
3422 // Objects with a non-function constructor have class 'Object'.
3598 // Load the arguments on the stack and call the runtime function.
3788 int arg_count = args->length() - 2; // 2 ~ receiver and function.
3792 VisitForAccumulatorValue(args->last()); // Function.
3795 // Check for non-function argument (including proxy).
3800 // InvokeFunction requires the function in r1. Move it in there.
4158 if (expr->function() != NULL &&
4159 expr->function()->intrinsic_type == Runtime::INLINE) {
4176 // Load the function from the receiver.
4186 // Push the target function under the receiver.
4213 // Call the C runtime function.
4214 __ CallRuntime(expr->function(), arg_count);
4761 // Contexts nested in the native context have a canonical empty function
4764 // function.