Home | History | Annotate | Download | only in arm

Lines Matching full:slot

179       // tos: code slot
226 Slot* slot = par->slot();
227 if (slot != NULL && slot->type() == Slot::CONTEXT) {
231 __ str(r1, SlotOperand(slot, r2));
234 FixedArray::kHeaderSize + slot->index() * kPointerSize;
249 ASSERT(arguments != NULL && arguments->slot() != NULL);
250 ASSERT(shadow != NULL && shadow->slot() != NULL);
262 StoreToSlot(arguments->slot(), NOT_CONST_INIT);
263 StoreToSlot(shadow->slot(), NOT_CONST_INIT);
271 StoreToSlot(scope()->function()->slot(), NOT_CONST_INIT);
399 MemOperand CodeGenerator::SlotOperand(Slot* slot, Register tmp) {
408 ASSERT(slot != NULL);
409 int index = slot->index();
410 switch (slot->type()) {
411 case Slot::PARAMETER:
414 case Slot::LOCAL:
417 case Slot::CONTEXT: {
421 int chain_length = scope()->ContextChainLength(slot->var()->scope());
451 Slot* slot,
455 ASSERT(slot->type() == Slot::CONTEXT);
458 for (Scope* s = scope(); s != slot->var()->scope(); s = s->outer_scope()) {
476 return ContextOperand(tmp, slot->index());
604 Slot global(variable, Slot::CONTEXT, Context::GLOBAL_INDEX);
609 } else if (variable != NULL && variable->slot() != NULL) {
610 // For a variable that rewrites to a slot, we signal it is the immediate
612 LoadFromSlot(variable->slot(), INSIDE_TYPEOF);
661 ASSERT(var->slot() != NULL);
662 ref->set_type(Reference::SLOT);
1149 // Put the lr setup instruction in the delay slot. kInstrSize is added to
1213 Slot* slot = var->slot();
1218 if (slot != NULL && slot->type() == Slot::LOOKUP) {
1219 // Variables with a "LOOKUP" slot were introduced as non-locals
1852 frame_->EmitPush(r0); // push the object (slot 4) for the runtime call
1955 // If the reference was to a slot we rely on the convenient property
2006 ASSERT(catch_var != NULL && catch_var->slot() != NULL);
2007 StoreToSlot(catch_var->slot(), NOT_CONST_INIT);
2390 void CodeGenerator::LoadFromSlot(Slot* slot, TypeofState typeof_state) {
2392 if (slot->type() == Slot::LOOKUP) {
2393 ASSERT(slot->var()->is_dynamic());
2403 if (slot->var()->mode() == Variable::DYNAMIC_GLOBAL) {
2404 LoadFromGlobalSlotCheckExtensions(slot, typeof_state, r1, r2, &slow);
2413 } else if (slot->var()->mode() == Variable::DYNAMIC_LOCAL) {
2414 Slot* potential_slot = slot->var()->local_if_not_shadowed()->slot();
2437 __ mov(r0, Operand(slot->var()->name()));
2451 __ ldr(r0, SlotOperand(slot, r2));
2453 if (slot->var()->mode() == Variable::CONST) {
2468 void CodeGenerator::StoreToSlot(Slot* slot, InitState init_state) {
2469 ASSERT(slot != NULL);
2470 if (slot->type() == Slot::LOOKUP) {
2471 ASSERT(slot->var()->is_dynamic());
2475 __ mov(r0, Operand(slot->var()->name()));
2480 // (e.g. READ_ONLY) of context slot so that we can initialize
2486 // context slot declaration, but we cannot initialize it at the
2493 // context slot followed by initialization.
2503 ASSERT(!slot->var()->is_dynamic());
2507 ASSERT(slot->var()->mode() == Variable::CONST);
2508 // Only the first const initialization must be executed (the slot
2512 __ ldr(r2, SlotOperand(slot, r2));
2522 // Note: We will reach here even with slot->var()->mode() ==
2528 __ str(r0, SlotOperand(slot, r2));
2530 if (slot->type() == Slot::CONTEXT) {
2535 int offset = FixedArray::kHeaderSize + slot->index() * kPointerSize;
2542 if (init_state == CONST_INIT || slot->type() == Slot::CONTEXT) {
2549 void CodeGenerator::LoadFromGlobalSlotCheckExtensions(Slot* slot,
2605 __ mov(r2, Operand(slot->var()->name()));
2618 void CodeGenerator::VisitSlot(Slot* node) {
2623 Comment cmnt(masm_, "[ Slot");
2989 frame_->EmitPush(r2); // Slot for receiver
3053 } else if (var != NULL && var->slot() != NULL &&
3054 var->slot()->type() == Slot::LOOKUP) {
3064 // r0: slot value; r1: receiver
3736 Slot* slot = variable->slot();
3743 } else if (slot != NULL && slot->type() == Slot::LOOKUP) {
4369 case SLOT: {
4370 Comment cmnt(masm, "[ Load from Slot");
4371 Slot* slot = expression_->AsVariableProxy()->AsVariable()->slot();
4372 ASSERT(slot != NULL);
4373 cgen_->LoadFromSlot(slot, NOT_INSIDE_TYPEOF);
4426 case SLOT: {
4427 Comment cmnt(masm, "[ Store to Slot");
4428 Slot* slot = expression_->AsVariableProxy()->AsVariable()->slot();
4429 cgen_->StoreToSlot(slot, init_state);
6892 // Setup r4 to point to the first array slot.