Lines Matching refs:environment
360 void LCodeGen::WriteTranslation(LEnvironment* environment,
362 if (environment == NULL) return;
364 // The translation includes one command per value in the environment.
365 int translation_size = environment->values()->length();
367 int height = translation_size - environment->parameter_count();
369 WriteTranslation(environment->outer(), translation);
370 int closure_id = DefineDeoptimizationLiteral(environment->closure());
371 switch (environment->frame_type()) {
373 translation->BeginJSFrame(environment->ast_id(), closure_id, height);
385 LOperand* value = environment->values()->at(i);
388 if (environment->spilled_registers() != NULL && value != NULL) {
390 environment->spilled_registers()[value->index()] != NULL) {
393 environment->spilled_registers()[value->index()],
394 environment->HasTaggedValueAt(i));
397 environment->spilled_double_registers()[value->index()] != NULL) {
401 environment->spilled_double_registers()[value->index()],
406 AddToTranslation(translation, value, environment->HasTaggedValueAt(i));
502 void LCodeGen::RegisterEnvironmentForDeoptimization(LEnvironment* environment,
504 if (!environment->HasBeenRegistered()) {
509 // Layout of the environment:
520 for (LEnvironment* e = environment; e != NULL; e = e->outer()) {
527 WriteTranslation(environment, &translation);
530 environment->Register(deoptimization_index,
533 deoptimizations_.Add(environment);
538 void LCodeGen::DeoptimizeIf(Condition cc, LEnvironment* environment) {
539 RegisterEnvironmentForDeoptimization(environment, Safepoint::kNoLazyDeopt);
540 ASSERT(environment->HasBeenRegistered());
541 int id = environment->deoptimization_index();
789 DeoptimizeIf(no_condition, instr->environment());
810 DeoptimizeIf(zero, instr->environment());
868 DeoptimizeIf(no_condition, instr->environment());
898 DeoptimizeIf(zero, instr->environment());
907 DeoptimizeIf(sign, instr->environment());
917 DeoptimizeIf(zero, instr->environment());
927 DeoptimizeIf(not_zero, instr->environment());
989 DeoptimizeIf(overflow, instr->environment());
999 DeoptimizeIf(no_condition, instr->environment());
1003 DeoptimizeIf(sign, instr->environment());
1007 DeoptimizeIf(sign, instr->environment());
1087 DeoptimizeIf(negative, instr->environment());
1109 DeoptimizeIf(negative, instr->environment());
1142 DeoptimizeIf(overflow, instr->environment());
1302 DeoptimizeIf(overflow, instr->environment());
1441 DeoptimizeIf(zero, instr->environment());
1486 DeoptimizeIf(no_condition, instr->environment());
2074 DeoptimizeIf(equal, instr->environment());
2105 DeoptimizeIf(equal, instr->environment());
2136 DeoptimizeIf(equal, instr->environment());
2157 DeoptimizeIf(equal, instr->environment());
2257 DeoptimizeIf(not_equal, instr->environment());
2281 DeoptimizeIf(not_equal, instr->environment());
2295 DeoptimizeIf(equal, instr->environment());
2368 DeoptimizeIf(below_equal, instr->environment());
2388 DeoptimizeIf(equal, instr->environment());
2405 DeoptimizeIf(equal, instr->environment());
2472 DeoptimizeIf(negative, instr->environment());
2578 DeoptimizeIf(is_smi, instr->environment());
2580 DeoptimizeIf(below, instr->environment());
2607 DeoptimizeIf(above, instr->environment());
2748 DeoptimizeIf(not_equal, instr->environment());
2802 DeoptimizeIf(negative, instr->environment());
2859 DeoptimizeIf(overflow, instr->environment());
2864 DeoptimizeIf(equal, instr->environment());
2869 DeoptimizeIf(below, instr->environment());
2876 DeoptimizeIf(not_zero, instr->environment());
2887 DeoptimizeIf(equal, instr->environment());
2916 DeoptimizeIf(equal, instr->environment());
2924 DeoptimizeIf(negative, instr->environment());
2932 DeoptimizeIf(below, instr->environment());
3001 DeoptimizeIf(not_equal, instr->environment());
3378 DeoptimizeIf(below_equal, instr->environment());
3688 DeoptimizeIf(NegateCondition(is_smi), instr->environment());
3757 DeoptimizeIf(not_equal, instr->environment());
3767 DeoptimizeIf(equal, instr->environment());
3770 DeoptimizeIf(not_equal, instr->environment());
3777 DeoptimizeIf(not_equal, instr->environment());
3778 DeoptimizeIf(parity_even, instr->environment()); // NaN.
3784 DeoptimizeIf(not_zero, instr->environment());
3826 instr->environment());
3845 DeoptimizeIf(equal, instr->environment());
3850 DeoptimizeIf(not_equal, instr->environment());
3851 DeoptimizeIf(parity_even, instr->environment()); // NaN.
3863 DeoptimizeIf(not_zero, instr->environment());
3873 DeoptimizeIf(NegateCondition(cc), instr->environment());
3880 DeoptimizeIf(cc, instr->environment());
3899 DeoptimizeIf(not_equal, instr->environment());
3901 DeoptimizeIf(below, instr->environment());
3906 DeoptimizeIf(above, instr->environment());
3918 DeoptimizeIf(tag == 0 ? not_zero : zero, instr->environment());
3924 DeoptimizeIf(not_equal, instr->environment());
3941 DeoptimizeIf(not_equal, instr->environment());
3961 DoCheckMapCommon(reg, map, instr->hydrogen()->mode(), instr->environment());
3997 DeoptimizeIf(not_equal, instr->environment());
4028 ALLOW_ELEMENT_TRANSITION_MAPS, instr->environment());
4037 ALLOW_ELEMENT_TRANSITION_MAPS, instr->environment());
4146 DeoptimizeIf(not_equal, instr->environment());
4299 Handle<FixedArray> literals(instr->environment()->closure()->literals());
4561 LEnvironment* env = instr->environment();
4568 DeoptimizeIf(no_condition, instr->environment());
4610 LEnvironment* env = instr->environment();
4627 LEnvironment* env = instr->environment();
4662 // This is a pseudo-instruction that ensures that the environment here is
4665 LEnvironment* environment = instr->environment();
4666 environment->SetSpilledRegisters(instr->SpilledRegisterArray(),
4669 // If the environment were already registered, we would have no way of
4671 ASSERT(!environment->HasBeenRegistered());
4672 RegisterEnvironmentForDeoptimization(environment, Safepoint::kNoLazyDeopt);
4680 DeoptimizeIf(equal, instr->environment());
4685 DeoptimizeIf(equal, instr->environment());
4688 DeoptimizeIf(cc, instr->environment());
4692 DeoptimizeIf(below_equal, instr->environment());
4707 DeoptimizeIf(not_equal, instr->environment());
4721 DeoptimizeIf(cc, instr->environment());
4729 DeoptimizeIf(not_equal, instr->environment());