Home | History | Annotate | Download | only in ia32

Lines Matching refs:CONTEXT

118 //   o esi: our context
166 __ push(esi); // Callee's context.
183 // Possibly allocate a local context.
184 int heap_slots = info->scope()->num_heap_slots() - Context::MIN_CONTEXT_SLOTS;
186 Comment cmnt(masm_, "[ Allocate local context");
196 // Context is returned in both eax and esi. It replaces the context
200 // Copy parameters into context if necessary.
209 // Store it in the context.
210 int context_offset = Context::SlotOffset(var->index());
739 int offset = Context::SlotOffset(var->index());
751 // context. Otherwise, we let the Visit function deal with the
753 if (!context()->IsTest() || !info_->IsOptimizable()) return;
771 // local context.
793 case Variable::CONTEXT:
795 // context.
798 // Check that we're not inside a with or catch context.
801 __ Check(not_equal, "Declaration in with context.");
803 __ Check(not_equal, "Declaration in catch context.");
811 Context::SlotOffset(variable->index()),
859 __ push(esi); // The context is the first argument.
1087 { EffectContext context(this);
1137 context()->Plug(eax);
1150 Register context = esi;
1158 __ cmp(ContextOperand(context, Context::EXTENSION_INDEX),
1162 // Load next context in chain.
1163 __ mov(temp, ContextOperand(context, Context::PREVIOUS_INDEX));
1165 context = temp;
1168 // context extensions. If we have reached an eval scope, we check
1175 // Loop up the context chain. There is no frame effect so it is
1178 if (!context.is(temp)) {
1179 __ mov(temp, context);
1182 // Terminate at global context.
1187 __ cmp(ContextOperand(temp, Context::EXTENSION_INDEX), Immediate(0));
1189 // Load next context in chain.
1190 __ mov(temp, ContextOperand(temp, Context::PREVIOUS_INDEX));
1210 Register context = esi;
1217 __ cmp(ContextOperand(context, Context::EXTENSION_INDEX),
1221 __ mov(temp, ContextOperand(context, Context::PREVIOUS_INDEX));
1223 context = temp;
1227 __ cmp(ContextOperand(context, Context::EXTENSION_INDEX), Immediate(0));
1233 return ContextOperand(context, var->index());
1285 context()->Plug(eax);
1291 case Variable::CONTEXT: {
1293 ? "Context variable"
1347 context()->Plug(eax);
1351 context()->Plug(var);
1362 __ push(esi); // Context.
1366 context()->Plug(eax);
1423 context()->Plug(eax);
1544 context()->PlugTOS();
1546 context()->Plug(eax);
1641 context()->PlugTOS();
1643 context()->Plug(eax);
1750 context()->Plug(eax);
1871 context()->Plug(eax);
1883 context()->Plug(eax);
1909 EffectContext context(this);
1939 context()->Plug(eax);
1968 // able to drill a hole to that function context, even from inside a
1969 // 'with' context. We thus bypass the normal static scope lookup for
1981 __ push(esi); // Context.
1998 int offset = Context::SlotOffset(var->index());
2018 int offset = Context::SlotOffset(var->index());
2024 __ push(esi); // Context.
2072 context()->Plug(eax);
2113 context()->Plug(eax);
2124 context()->Plug(eax);
2130 context()->Plug(eax);
2163 // Restore context register.
2165 context()->Plug(eax);
2195 // Restore context register.
2197 context()->DropAndPlug(1, eax); // Drop the key still on the stack.
2229 // Restore context register.
2231 context()->DropAndPlug(1, eax);
2299 // Restore context register.
2301 context()->DropAndPlug(1, eax);
2418 context()->Plug(eax);
2432 context()->PrepareTest(&materialize_true, &materialize_false,
2439 context()->Plug(if_true, if_false);
2453 context()->PrepareTest(&materialize_true, &materialize_false,
2460 context()->Plug(if_true, if_false);
2474 context()->PrepareTest(&materialize_true, &materialize_false,
2492 context()->Plug(if_true, if_false);
2506 context()->PrepareTest(&materialize_true, &materialize_false,
2514 context()->Plug(if_true, if_false);
2528 context()->PrepareTest(&materialize_true, &materialize_false,
2538 context()->Plug(if_true, if_false);
2553 context()->PrepareTest(&materialize_true, &materialize_false,
2608 __ mov(edx, Operand(esi, Context::SlotOffset(Context::GLOBAL_INDEX)));
2613 Context::STRING_FUNCTION_PROTOTYPE_MAP_INDEX));
2622 context()->Plug(if_true, if_false);
2636 context()->PrepareTest(&materialize_true, &materialize_false,
2644 context()->Plug(if_true, if_false);
2658 context()->PrepareTest(&materialize_true, &materialize_false,
2666 context()->Plug(if_true, if_false);
2680 context()->PrepareTest(&materialize_true, &materialize_false,
2688 context()->Plug(if_true, if_false);
2700 context()->PrepareTest(&materialize_true, &materialize_false,
2720 context()->Plug(if_true, if_false);
2736 context()->PrepareTest(&materialize_true, &materialize_false,
2744 context()->Plug(if_true, if_false);
2759 context()->Plug(eax);
2782 context()->Plug(eax);
2843 context()->Plug(eax);
2864 context()->Plug(eax);
2885 __ mov(eax, ContextOperand(context_register(), Context::GLOBAL_INDEX));
2915 context()->Plug(eax);
2928 context()->Plug(eax);
2942 context()->Plug(eax);
2961 context()->Plug(eax);
3003 context()->Plug(result);
3020 context()->Plug(eax);
3049 context()->Plug(eax);
3062 context()->Plug(eax);
3081 context()->Plug(ebx);
3127 context()->Plug(result);
3175 context()->Plug(result);
3188 context()->Plug(eax);
3201 context()->Plug(eax);
3213 context()->Plug(eax);
3225 context()->Plug(eax);
3237 context()->Plug(eax);
3249 context()->Plug(eax);
3259 context()->Plug(eax);
3291 context()->Plug(eax);
3304 context()->Plug(eax);
3320 context()->Plug(eax);
3329 __ mov(cache, ContextOperand(esi, Context::GLOBAL_INDEX));
3332 __ mov(cache, ContextOperand(cache, Context::JSFUNCTION_RESULT_CACHES_INDEX));
3353 context()->Plug(eax);
3391 context()->Plug(eax);
3409 context()->PrepareTest(&materialize_true, &materialize_false,
3417 context()->Plug(if_true, if_false);
3433 context()->Plug(eax);
3693 // Drop temp values from the stack, and restore context register.
3697 context()->Plug(eax);
3731 // Restore context register.
3737 context()->Plug(eax);
3755 context()->Plug(eax);
3766 context()->Plug(eax);
3771 context()->Plug(var->is_this());
3774 // context where the variable was introduced.
3778 context()->Plug(eax);
3784 context()->Plug(true);
3792 context()->Plug(isolate()->factory()->undefined_value());
3798 if (context()->IsEffect()) {
3802 } else if (context()->IsTest()) {
3803 const TestContext* test = TestContext::cast(context());
3809 context()->Plug(test->true_label(), test->false_label());
3812 context,
3815 ASSERT(context()->IsAccumulatorValue() || context()->IsStackValue());
3823 if (context()->IsAccumulatorValue()) {
3831 if (context()->IsAccumulatorValue()) {
3843 { StackValueContext context(this);
3847 context()->Plug(eax);
3859 context()->Plug(result_register());
3889 context()->Plug(eax);
3909 // In case of a property we use the uninitialized expression context
3919 AccumulatorValueContext context(this);
3923 if (expr->is_postfix() && !context()->IsEffect()) {
3959 if (!context()->IsEffect()) {
4017 { EffectContext context(this);
4021 context.Plug(eax);
4025 if (!context()->IsEffect()) {
4026 context()->PlugTOS();
4033 context()->Plug(eax);
4045 if (!context()->IsEffect()) {
4046 context()->PlugTOS();
4049 context()->Plug(eax);
4063 if (!context()->IsEffect()) {
4064 context()->PlugTOS();
4067 context()->Plug(eax);
4077 ASSERT(!context()->IsEffect());
4078 ASSERT(!context()->IsTest());
4089 context()->Plug(eax);
4104 context()->Plug(eax);
4119 context()->PrepareTest(&materialize_true, &materialize_false,
4122 { AccumulatorValueContext context(this);
4182 context()->Plug(if_true, if_false);
4195 // into the expression's context after the comparison is performed.
4200 context()->PrepareTest(&materialize_true, &materialize_false,
4277 // expression's context.
4278 context()->Plug(if_true, if_false);
4289 context()->PrepareTest(&materialize_true, &materialize_false,
4314 context()->Plug(if_true, if_false);
4320 context()->Plug(eax);
4348 // Contexts nested in the global context have a canonical empty function
4354 // Contexts nested inside eval code have the same closure as the context
4356 // Fetch it from the context.
4357 __ push(ContextOperand(esi, Context::CLOSURE_INDEX));
4402 // Because the handler block contains the context of the finally
4408 // Restore the context to its dedicated register and the stack.