Home | History | Annotate | Download | only in arm

Lines Matching refs:CONTEXT

143 // cp: callee's context
166 // cp: callee's context
188 // Allocate local context.
189 // Get outer context and create a new context based on it.
206 // Update context local.
207 __ str(cp, frame_->Context());
211 // 1) only needed if we have a context
212 // 2) no need to recompute context ptr every single time
215 Comment cmnt2(masm_, "[ copy context parameters into .context");
218 // needs to be copied into the context, it must be the last argument
222 // context location and thus the last value is what is seen inside
227 if (slot != NULL && slot->type() == Slot::CONTEXT) {
230 // Loads r2 with context; used below in RecordWrite.
241 // Store the arguments object. This must happen after context
243 // context.
339 // cp: callee's context
417 case Slot::CONTEXT: {
418 // Follow the context chain if necessary.
419 ASSERT(!tmp.is(cp)); // do not overwrite context register
420 Register context = cp;
426 // There is no need to go to the function context first.)
427 __ ldr(tmp, ContextOperand(context, Context::CLOSURE_INDEX));
428 // Load the function context (which is the incoming, outer context).
430 context = tmp;
432 // We may have a 'with' context now. Get the function context.
434 // may not permit a direct context access in this case and thus we are
435 // always at a function context. However it is safe to dereference be-
436 // cause the function context of a function context is itself. Before
439 __ ldr(tmp, ContextOperand(context, Context::FCONTEXT_INDEX));
455 ASSERT(slot->type() == Slot::CONTEXT);
456 Register context = cp;
462 __ ldr(tmp2, ContextOperand(context, Context::EXTENSION_INDEX));
466 __ ldr(tmp, ContextOperand(context, Context::CLOSURE_INDEX));
468 context = tmp;
472 __ ldr(tmp2, ContextOperand(context, Context::EXTENSION_INDEX));
475 __ ldr(tmp, ContextOperand(context, Context::FCONTEXT_INDEX));
589 __ ldr(scratch, ContextOperand(cp, Context::GLOBAL_INDEX));
604 Slot global(variable, Slot::CONTEXT, Context::GLOBAL_INDEX);
1130 // Restore context and pop function from the stack.
1131 __ ldr(cp, frame_->Context());
1217 // exists in the local context.
1446 // Update context local.
1447 __ str(cp, frame_->Context());
1459 // Pop context.
1460 __ ldr(cp, ContextOperand(cp, Context::PREVIOUS_INDEX));
1461 // Update context local.
1462 __ str(cp, frame_->Context());
2480 // (e.g. READ_ONLY) of context slot so that we can initialize
2482 // expr);")). Also, uses the current function context instead of
2483 // the top context.
2486 // context slot declaration, but we cannot initialize it at the
2493 // context slot followed by initialization.
2525 // calling this code. r2 may be loaded with context; used below in
2530 if (slot->type() == Slot::CONTEXT) {
2534 // r2 is loaded with context when calling SlotOperand above.
2542 if (init_state == CONST_INIT || slot->type() == Slot::CONTEXT) {
2556 Register context = cp;
2562 __ ldr(tmp2, ContextOperand(context, Context::EXTENSION_INDEX));
2566 // Load next context in chain.
2567 __ ldr(tmp, ContextOperand(context, Context::CLOSURE_INDEX));
2569 context = tmp;
2572 // context extensions.
2579 if (!context.is(tmp)) {
2580 __ mov(tmp, Operand(context));
2583 // Terminate at global context.
2589 __ ldr(tmp2, ContextOperand(tmp, Context::EXTENSION_INDEX));
2592 // Load next context in chain.
2593 __ ldr(tmp, ContextOperand(tmp, Context::CLOSURE_INDEX));
2911 // Dynamic constant initializations must use the function context
3023 __ ldr(cp, frame_->Context());
3050 __ ldr(cp, frame_->Context());
3096 __ ldr(cp, frame_->Context());
3698 __ ldr(cp, frame_->Context());
3744 // lookup the context holding the named variable
3749 // r0: context
4471 // Clone the boilerplate in new space. Set the context to the
4472 // current context in cp.
4486 // Compute the function map in the current global context and set that
4488 __ ldr(r2, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX)));
4490 __ ldr(r2, MemOperand(r2, Context::SlotOffset(Context::FUNCTION_MAP_INDEX)));
4518 // Try to allocate the context in new space.
4520 int length = slots_ + Context::MIN_CONTEXT_SLOTS;
4522 // Attempt to allocate the context in new space.
4541 __ str(r3, MemOperand(r0, Context::SlotOffset(Context::CLOSURE_INDEX)));
4542 __ str(r0, MemOperand(r0, Context::SlotOffset(Context::FCONTEXT_INDEX)));
4543 __ str(r1, MemOperand(r0, Context::SlotOffset(Context::PREVIOUS_INDEX)));
4544 __ str(r1, MemOperand(r0, Context::SlotOffset(Context::EXTENSION_INDEX)));
4546 // Copy the global object from the surrounding context.
4547 __ ldr(r1, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX)));
4548 __ str(r1, MemOperand(r0, Context::SlotOffset(Context::GLOBAL_INDEX)));
4552 for (int i = Context::MIN_CONTEXT_SLOTS; i < length; i++) {
4553 __ str(r1, MemOperand(r0, Context::SlotOffset(i)));
6316 // Before returning we restore the context from the frame pointer if
6384 // Before returning we restore the context from the frame pointer if
6504 // cp: current context (C callee-saved)
6851 // Get the arguments boilerplate from the current (global) context.
6852 int offset = Context::SlotOffset(Context::ARGUMENTS_BOILERPLATE_INDEX);
6853 __ ldr(r4, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX)));