Home | History | Annotate | Download | only in src

Lines Matching refs:instr

126 void HBasicBlock::AddInstruction(HInstruction* instr,
129 ASSERT(!instr->IsLinked());
133 instr->set_position(position);
148 instr->InsertAfter(last_);
173 HSimulate* instr =
176 instr->set_closure(environment->closure());
182 instr->AddPushedValue(environment->ExpressionStackAt(i));
189 instr->AddAssignedValue(index, environment->Lookup(index));
192 return instr;
223 HGoto* instr = new(zone()) HGoto(block);
224 Finish(instr, position);
243 HGoto* instr = new(zone()) HGoto(target);
244 Finish(instr, position);
1162 HInstruction* HGraphBuilder::AddInstruction(HInstruction* instr) {
1167 current_block()->AddInstruction(instr, source_position());
1169 instr->SetFlag(HValue::kHasNoObservableSideEffects);
1171 return instr;
3962 void EffectContext::ReturnInstruction(HInstruction* instr, BailoutId ast_id) {
3963 ASSERT(!instr->IsControlInstruction());
3964 owner()->AddInstruction(instr);
3965 if (instr->HasObservableSideEffects()) {
3971 void EffectContext::ReturnControl(HControlInstruction* instr,
3973 ASSERT(!instr->HasObservableSideEffects());
3976 instr->SetSuccessorAt(0, empty_true);
3977 instr->SetSuccessorAt(1, empty_false);
3978 owner()->FinishCurrentBlock(instr);
4000 void ValueContext::ReturnInstruction(HInstruction* instr, BailoutId ast_id) {
4001 ASSERT(!instr->IsControlInstruction());
4002 if (!arguments_allowed() && instr->CheckFlag(HValue::kIsArguments)) {
4005 owner()->AddInstruction(instr);
4006 owner()->Push(instr);
4007 if (instr->HasObservableSideEffects()) {
4013 void ValueContext::ReturnControl(HControlInstruction* instr, BailoutId ast_id) {
4014 ASSERT(!instr->HasObservableSideEffects());
4015 if (!arguments_allowed() && instr->CheckFlag(HValue::kIsArguments)) {
4020 instr->SetSuccessorAt(0, materialize_true);
4021 instr->SetSuccessorAt(1, materialize_false);
4022 owner()->FinishCurrentBlock(instr);
4056 void TestContext::ReturnInstruction(HInstruction* instr, BailoutId ast_id) {
4057 ASSERT(!instr->IsControlInstruction());
4059 builder->AddInstruction(instr);
4062 if (instr->HasObservableSideEffects()) {
4063 builder->Push(instr);
4067 BuildBranch(instr);
4071 void TestContext::ReturnControl(HControlInstruction* instr, BailoutId ast_id) {
4072 ASSERT(!instr->HasObservableSideEffects());
4075 instr->SetSuccessorAt(0, empty_true);
4076 instr->SetSuccessorAt(1, empty_false);
4077 owner()->FinishCurrentBlock(instr);
4471 HInstruction* instr = Add<HStoreFrameContext>(inner_context);
4472 if (instr->HasObservableSideEffects()) {
4489 HInstruction* instr = Add<HStoreFrameContext>(outer_context);
4490 if (instr->HasObservableSideEffects()) {
4621 HInstruction* instr = Add<HStoreFrameContext>(context);
4622 if (instr->HasObservableSideEffects()) {
4653 HInstruction* instr = Add<HStoreFrameContext>(context);
4654 if (instr->HasObservableSideEffects()) {
5161 HFunctionLiteral* instr =
5163 instr, expr->id());
5265 HConstant* instr = New<HConstant>(constant_value);
5266 return ast_context()->ReturnInstruction(instr, expr->id());
5290 HLoadGlobalCell* instr =
5292 return ast_context()->ReturnInstruction(instr, expr->id());
5298 HLoadGlobalGeneric* instr =
5302 return ast_context()->ReturnInstruction(instr, expr->id());
5332 HLoadContextSlot* instr =
5334 return ast_context()->ReturnInstruction(instr, expr->id());
5347 HConstant* instr = New<HConstant>(expr->value());
5348 return ast_context()->ReturnInstruction(instr, expr->id());
5358 HRegExpLiteral* instr = New<HRegExpLiteral>(literals,
5362 return ast_context()->ReturnInstruction(instr, expr->id());
5683 HStoreKeyed* instr = Add<HStoreKeyed>(elements, key, value,
5685 instr->SetUninitialized(uninitialized);
5761 HStoreNamedField *instr;
5778 instr = New<HStoreNamedField>(checked_object->ActualValue(),
5785 instr = New<HStoreNamedField>(heap_number,
5800 instr = New<HStoreNamedField>(
5808 instr->SetTransition(Add<HConstant>(transition));
5810 return instr;
6249 HInstruction* instr = BuildNamedGeneric(access_type, object, name, value);
6250 AddInstruction(instr);
6251 if (!ast_context()->IsEffect()) Push(access_type == LOAD ? instr : value);
6325 HInstruction* instr = BuildNamedAccess(STORE, ast_id, return_id, expr,
6327 if (instr == NULL) return;
6330 AddInstruction(instr);
6331 if (instr->HasObservableSideEffects()) {
6387 HInstruction* instr =
6389 if (instr->HasObservableSideEffects()) {
6396 HStoreNamedGeneric* instr =
6399 USE(instr);
6400 ASSERT(instr->HasObservableSideEffects());
6472 HStoreContextSlot* instr = Add<HStoreContextSlot>(
6474 if (instr->HasObservableSideEffects()) {
6619 HStoreContextSlot* instr = Add<HStoreContextSlot>(
6621 if (instr->HasObservableSideEffects()) {
6835 HInstruction* instr = BuildUncheckedMonomorphicElementAccess(
6840 return instr;
6910 HInstruction* instr = NULL;
6913 instr = AddInstruction(BuildKeyedGeneric(access_type, object, key, val));
6915 instr = BuildMonomorphicElementAccess(
6919 *has_side_effects |= instr->HasObservableSideEffects();
6920 return access_type == STORE ? NULL : instr;
6984 HInstruction* instr = NULL;
7009 instr = AddInstruction(BuildKeyedGeneric(access_type, obj, key, val));
7012 instr = BuildMonomorphicElementAccess(
7032 instr = AddInstruction(BuildKeyedGeneric(access_type, obj, key, val));
7034 *has_side_effects = instr->HasObservableSideEffects();
7035 return instr;
7167 HInstruction* instr = NULL;
7173 instr = NewUncasted<HStringCharFromCode>(char_code);
7178 instr = New<HLoadFunctionPrototype>(function);
7184 instr = BuildNamedAccess(LOAD, ast_id, expr->LoadId(), expr,
7186 if (instr == NULL) return;
7187 if (instr->IsLinked()) return ast_context()->ReturnValue(instr);
7207 return ast_context()->ReturnInstruction(instr, ast_id);
9202 HInstruction* instr = current_block()->last();
9204 HInstruction* prev_instr = instr->previous();
9205 instr->DeleteAndReplaceWith(NULL);
9206 instr = prev_instr;
9207 } while (instr != check);
9683 HInstruction* instr = New<HInvokeFunction>(function, 3);
9684 return ast_context()->ReturnInstruction(instr, expr->id());
9718 HInstruction* instr = New<HTypeof>(value);
9719 return ast_context()->ReturnInstruction(instr, expr->id());
9795 HInstruction* instr = AddUncasted<HAdd>(Top(), delta);
9796 if (instr->IsAdd()) {
9797 HAdd* add = HAdd::cast(instr);
9801 instr->SetFlag(HInstruction::kCannotBeTagged);
9802 instr->ClearAllSideEffects();
9803 return instr;
9886 HStoreContextSlot* instr = Add<HStoreContextSlot>(context, var->index(),
9888 if (instr->HasObservableSideEffects()) {
10227 HInstruction* instr = NULL;
10234 instr = AddUncasted<HInvokeFunction>(function, 2);
10238 instr = AddUncasted<HAdd>(left, right);
10241 instr = AddUncasted<HSub>(left, right);
10244 instr = AddUncasted<HMul>(left, right);
10257 instr = AddUncasted<HMod>(left, right);
10261 instr = AddUncasted<HDiv>(left, right);
10265 instr = AddUncasted<HBitwise>(op, left, right);
10272 instr = AddUncasted<HRor>(operand, shift_amount);
10274 instr = AddUncasted<HBitwise>(op, left, right);
10279 instr = AddUncasted<HSar>(left, right);
10282 instr = AddUncasted<HShr>(left, right);
10283 if (FLAG_opt_safe_uint32_operations && instr->IsShr() &&
10285 graph()->RecordUint32Instruction(instr);
10289 instr = AddUncasted<HShl>(left, right);
10296 if (instr->IsBinaryOperation()) {
10297 HBinaryOperation* binop = HBinaryOperation::cast(instr);
10303 instr->SetFlag(HValue::kCannotBeTagged);
10306 left->CopyFlag(HValue::kTruncatingToSmi, instr);
10307 left->CopyFlag(HValue::kTruncatingToInt32, instr);
10310 right->CopyFlag(HValue::kTruncatingToSmi, instr);
10311 right->CopyFlag(HValue::kTruncatingToInt32, instr);
10315 return instr;
10488 HTypeofIsAndBranch* instr = New<HTypeofIsAndBranch>(value, check);
10489 return ast_context()->ReturnControl(instr, expr->id());
10534 HClassOfTestAndBranch* instr = New<HClassOfTestAndBranch>(value, rhs);
10535 return ast_context()->ReturnControl(instr, expr->id());
10751 HCompareObjectEqAndBranch* instr =
10753 return ast_context()->ReturnControl(instr, expr->id());
11051 HInstruction* instr = BuildThisFunction();
11052 return ast_context()->ReturnInstruction(instr, expr->id());