Lines Matching refs:HValue
128 HValue* val = environment->values()->at(i);
179 void HBasicBlock::AddLeaveInlined(HValue* return_value,
737 HValue* value = instr->Canonicalize();
858 HValue* replacement = phi->GetRedundantReplacement();
863 HValue* value = it.value();
897 HValue* operand = phi->OperandAt(i);
923 if (phi->CheckFlag(HValue::kIsArguments)) return false;
957 void HGraph::InferTypes(ZoneList<HValue*>* worklist) {
965 HValue* current = worklist->RemoveLast();
969 HValue* use = it.value();
991 void UpdateControlFlowRange(Token::Value op, HValue* value, HValue* other);
992 void InferRange(HValue* value);
994 void AddRange(HValue* value, Range* range);
998 ZoneList<HValue*> changed_ranges_;
1071 HValue* value,
1072 HValue* other) {
1103 void HRangeAnalysis::InferRange(HValue* value) {
1125 void HRangeAnalysis::AddRange(HValue* value, Range* range) {
1169 GVNFlagSet depends_flags = HValue::ConvertChangesToDependsFlags(flags);
1173 HValue* value = array_[i].value;
1180 HValue* value = lists_[current].value;
1216 HValue* HValueMap::Lookup(HValue* value) const {
1299 void HValueMap::Insert(HValue* value) {
1542 GVNFlagSet depends_flags = HValue::ConvertChangesToDependsFlags(loop_kills);
1550 if (instr->CheckFlag(HValue::kUseGVN)) {
1565 HValue::ConvertChangesToDependsFlags(changes);
1683 if (instr->CheckFlag(HValue::kUseGVN)) {
1685 HValue* other = map->Lookup(instr);
1736 Representation TryChange(HValue* current);
1737 void AddToWorklist(HValue* current);
1738 void InferBasedOnInputs(HValue* current);
1739 void AddDependantsToWorklist(HValue* current);
1740 void InferBasedOnUses(HValue* current);
1745 ZoneList<HValue*> worklist_;
1750 void HInferRepresentation::AddToWorklist(HValue* current) {
1752 if (!current->CheckFlag(HValue::kFlexibleRepresentation)) return;
1763 void HInferRepresentation::InferBasedOnInputs(HValue* current) {
1766 ASSERT(current->CheckFlag(HValue::kFlexibleRepresentation));
1781 void HInferRepresentation::AddDependantsToWorklist(HValue* value) {
1795 void HInferRepresentation::InferBasedOnUses(HValue* value) {
1798 ASSERT(value->CheckFlag(HValue::kFlexibleRepresentation));
1815 Representation HInferRepresentation::TryChange(HValue* value) {
1820 HValue* use = it.value();
1876 HValue* use = it.value();
1921 HValue* current = worklist_.RemoveLast();
1958 ZoneList<HValue*> worklist(block->phis()->length());
1968 void HGraph::PropagateMinusZeroChecks(HValue* value, BitVector* visited) {
1969 HValue* current = value;
2002 void HGraph::InsertRepresentationChangeForUse(HValue* value,
2003 HValue* use_value,
2020 bool is_truncating = use_value->CheckFlag(HValue::kTruncatingToInt32);
2022 use_value->CheckFlag(HValue::kDeoptimizeOnUndefined);
2041 void HGraph::InsertRepresentationChangesForValue(HValue* value) {
2047 HValue* use_value = it.value();
2077 phi->SetFlag(HValue::kTruncatingToInt32);
2085 if (!phi->CheckFlag(HValue::kTruncatingToInt32)) continue;
2086 if (!phi->CheckUsesForFlag(HValue::kTruncatingToInt32)) {
2087 phi->ClearFlag(HValue::kTruncatingToInt32);
2111 if (phi->CheckFlag(HValue::kDeoptimizeOnUndefined)) return;
2112 phi->SetFlag(HValue::kDeoptimizeOnUndefined);
2114 HValue* input = phi->OperandAt(i);
2134 if (it.value()->CheckFlag(HValue::kDeoptimizeOnUndefined)) {
2248 void EffectContext::ReturnValue(HValue* value) {
2253 void ValueContext::ReturnValue(HValue* value) {
2256 if (!arguments_allowed() && value->CheckFlag(HValue::kIsArguments)) {
2263 void TestContext::ReturnValue(HValue* value) {
2289 if (!arguments_allowed() && instr->CheckFlag(HValue::kIsArguments)) {
2300 if (!arguments_allowed() && instr->CheckFlag(HValue::kIsArguments)) {
2346 void TestContext::BuildBranch(HValue* value) {
2352 if (value != NULL && value->CheckFlag(HValue::kIsArguments)) {
2421 HValue* HGraphBuilder::VisitArgument(Expression* expr) {
2424 HValue* value = Pop();
2492 HValue* context = environment()->LookupContext();
2622 ZoneList<HValue*> arguments(count);
2849 HValue* result = environment()->Pop();
2865 HValue* return_value = Pop();
2866 HValue* receiver = environment()->Lookup(0);
2897 HValue* return_value = Pop();
2928 HValue* context = environment()->LookupContext();
2932 HValue* tag_value = Pop();
2988 HValue* label_value = Pop();
3112 HValue* true_value = graph()->GetConstantTrue();
3162 HValue* context = environment()->LookupContext();
3332 HValue* enumerable = Top(); // Leave enumerable at the top.
3369 HValue* index = environment()->ExpressionStackAt(0);
3370 HValue* limit = environment()->ExpressionStackAt(1);
3389 HValue* key = AddInstruction(
3412 HValue* current_index = Pop();
3487 HValue* context = environment()->LookupContext();
3559 HValue* HGraphBuilder::BuildContextChainWalk(Variable* var) {
3561 HValue* context = environment()->LookupContext();
3608 HValue* context = environment()->LookupContext();
3623 HValue* value = environment()->Lookup(variable);
3634 HValue* context = BuildContextChainWalk(variable);
3659 HValue* context = environment()->LookupContext();
3735 HValue* context = environment()->LookupContext();
3784 HValue* value = Pop();
3823 HValue* context = environment()->LookupContext();
3879 HValue* value = Pop();
3885 HValue* key = AddInstruction(
3942 HInstruction* HGraphBuilder::BuildStoreNamedField(HValue* object,
3944 HValue* value,
3977 HInstruction* HGraphBuilder::BuildStoreNamedGeneric(HValue* object,
3979 HValue* value) {
3980 HValue* context = environment()->LookupContext();
3990 HInstruction* HGraphBuilder::BuildStoreNamed(HValue* object,
3991 HValue* value,
4009 HInstruction* HGraphBuilder::BuildStoreNamed(HValue* object,
4010 HValue* value,
4032 HValue* object,
4033 HValue* value,
4112 HValue* value = NULL;
4119 HValue* object = Pop();
4144 HValue* key = Pop();
4145 HValue* object = Pop();
4168 HValue* value,
4182 HValue* context = environment()->LookupContext();
4266 HValue* context = BuildContextChainWalk(var);
4287 HValue* obj = Top();
4301 HValue* right = Pop();
4302 HValue* left = Pop();
4320 HValue* obj = environment()->ExpressionStackAt(1);
4321 HValue* key = environment()->ExpressionStackAt(0);
4324 HValue* load = HandleKeyedElementAccess(
4333 HValue* right = Pop();
4334 HValue* left = Pop();
4387 HValue* old_value = environment()->Lookup(var);
4413 HValue* env_value = environment()->Lookup(var);
4422 HValue* value = Pop();
4468 HValue* context = BuildContextChainWalk(var);
4497 HValue* context = environment()->LookupContext();
4498 HValue* value = environment()->Pop();
4508 HLoadNamedField* HGraphBuilder::BuildLoadNamedField(HValue* object,
4533 HInstruction* HGraphBuilder::BuildLoadNamedGeneric(HValue* obj,
4541 HValue* context = environment()->LookupContext();
4546 HInstruction* HGraphBuilder::BuildLoadNamed(HValue* obj,
4570 HInstruction* HGraphBuilder::BuildLoadKeyedGeneric(HValue* object,
4571 HValue* key) {
4572 HValue* context = environment()->LookupContext();
4578 HValue* external_elements,
4579 HValue* checked_key,
4580 HValue* val,
4626 HInstruction* HGraphBuilder::BuildFastElementAccess(HValue* elements,
4627 HValue* checked_key,
4628 HValue* val,
4658 HInstruction* HGraphBuilder::BuildMonomorphicElementAccess(HValue* object,
4659 HValue* key,
4660 HValue* val,
4696 HValue* HGraphBuilder::HandlePolymorphicElementAccess(HValue* object,
4697 HValue* key,
4698 HValue* val,
4887 HValue* HGraphBuilder::HandleKeyedElementAccess(HValue* obj,
4888 HValue* key,
4889 HValue* val,
4924 HInstruction* HGraphBuilder::BuildStoreKeyedGeneric(HValue* object,
4925 HValue* key,
4926 HValue* value) {
4927 HValue* context = environment()->LookupContext();
4940 if (!environment()->Lookup(proxy->var())->CheckFlag(HValue::kIsArguments)) {
4961 HValue* key = Pop();
4987 HValue* array = Pop();
4994 HValue* string = Pop();
5000 HValue* index = Pop();
5001 HValue* string = Pop();
5002 HValue* context = environment()->LookupContext();
5009 HValue* function = Pop();
5017 HValue* obj = Pop();
5022 HValue* context = environment()->LookupContext();
5031 HValue* key = Pop();
5032 HValue* obj = Pop();
5035 HValue* load = HandleKeyedElementAccess(
5056 HValue* receiver,
5076 HValue* receiver,
5130 HValue* context = environment()->LookupContext();
5179 HValue* receiver,
5413 HValue* return_value = function_state()->is_construct()
5484 bool HGraphBuilder::TryInlineConstruct(CallNew* expr, HValue* receiver) {
5507 HValue* argument = Pop();
5508 HValue* context = environment()->LookupContext();
5527 HValue* receiver,
5539 HValue* index = Pop();
5540 HValue* string = Pop();
5541 HValue* context = environment()->LookupContext();
5569 HValue* argument = Pop();
5570 HValue* context = environment()->LookupContext();
5582 HValue* right = Pop();
5583 HValue* left = Pop();
5585 HValue* context = environment()->LookupContext();
5625 HValue* context = environment()->LookupContext();
5637 HValue* right = Pop();
5638 HValue* left = Pop();
5641 HValue* left_operand = left;
5642 HValue* right_operand = right;
5653 left_convert->SetFlag(HValue::kBailoutOnMinusZero);
5662 right_convert->SetFlag(HValue::kBailoutOnMinusZero);
5745 HValue* arg_two_value = environment()->Lookup(arg_two->var());
5746 if (!arg_two_value->CheckFlag(HValue::kIsArguments)) return false;
5751 HValue* function = Top();
5757 HValue* receiver = Pop();
5763 HValue* wrapped_receiver =
5776 HValue* context = environment()->LookupContext();
5778 HValue* wrapped_receiver =
5817 HValue* key = Pop();
5818 HValue* receiver = Pop();
5824 HValue* context = environment()->LookupContext();
5843 HValue* receiver =
5866 HValue* context = environment()->LookupContext();
5883 HValue* context = environment()->LookupContext();
5913 HValue* context = environment()->LookupContext();
5919 HValue* function = Pop();
5944 HValue* context = environment()->LookupContext();
5958 HValue* function = Top();
5959 HValue* context = environment()->LookupContext();
5987 HValue* function = Top();
5988 HValue* context = environment()->LookupContext();
6019 HValue
6027 HValue* function = Top();
6030 HValue* check = AddInstruction(
6063 HValue* constructor = NULL;
6117 HValue* context = environment()->LookupContext();
6151 HValue* key = Pop();
6152 HValue* obj = Pop();
6153 HValue* context = environment()->LookupContext();
6164 HValue* value = var->is_this()
6188 HValue* value = Pop();
6189 HValue* context = environment()->LookupContext();
6197 HValue* value = Pop();
6198 HValue* context = environment()->LookupContext();
6207 HValue* value = Pop();
6208 HValue* context = environment()->LookupContext();
6226 HValue* value = Pop();
6291 // We need an explicit HValue representing ToNumber(input). The
6306 HValue* context = environment()->LookupContext();
6331 HValue* input = NULL; // ToNumber(original_input).
6332 HValue* after = NULL; // The result after incrementing or decrementing.
6376 HValue* context = BuildContextChainWalk(var);
6403 HValue* obj = Top();
6435 HValue* obj = environment()->ExpressionStackAt(1);
6436 HValue* key = environment()->ExpressionStackAt(0);
6439 HValue* load = HandleKeyedElementAccess(
6471 HStringCharCodeAt* HGraphBuilder::BuildStringCharCodeAt(HValue* context,
6472 HValue* string,
6473 HValue* index) {
6485 HValue* left,
6486 HValue* right) {
6487 HValue* context = environment()->LookupContext();
6687 HValue* right = Pop();
6688 HValue* left = Pop();
6697 HValue* value,
6702 bool flexible = value->CheckFlag(HValue::kFlexibleRepresentation);
6728 HValue* value = typeof_expr->value();
6735 static bool MatchLiteralCompareNil(HValue* left,
6737 HValue* right,
6739 HValue** expr) {
6750 static bool MatchLiteralCompareTypeof(HValue* left,
6752 HValue* right,
6767 static bool IsLiteralCompareTypeof(HValue* left,
6769 HValue* right,
6777 static bool IsLiteralCompareNil(HValue* left,
6779 HValue* right,
6781 HValue** expr) {
6787 static bool IsLiteralCompareBool(HValue* left,
6789 HValue* right) {
6804 HValue* value = Pop();
6825 HValue* context = environment()->LookupContext();
6826 HValue* right = Pop();
6827 HValue* left = Pop();
6835 HValue* sub_expr = NULL;
6953 HValue* value,
7045 HValue* value = NULL;
7053 HValue* context = environment()->LookupContext();
7119 HValue* value = Pop();
7128 HValue* value = Pop();
7140 HValue* value = Pop();
7150 HValue* value = Pop();
7160 HValue* value = Pop();
7170 HValue* value = Pop();
7180 HValue* value = Pop();
7194 HValue* value = Pop();
7213 HValue* value = function_state()->is_construct()
7244 HValue* index = Pop();
7264 HValue* value = Pop();
7275 HValue* date = Pop();
7285 HValue* value = Pop();
7286 HValue* object = Pop();
7328 HValue* index = Pop();
7329 HValue* string = Pop();
7330 HValue* context = environment()->LookupContext();
7340 HValue* char_code = Pop();
7341 HValue* context = environment()->LookupContext();
7353 HValue* index = Pop();
7354 HValue* string = Pop();
7355 HValue* context = environment()->LookupContext();
7369 HValue* right = Pop();
7370 HValue* left = Pop();
7385 HValue* context = environment()->LookupContext();
7397 HValue* context = environment()->LookupContext();
7408 HValue* context = environment()->LookupContext();
7419 HValue* context = environment()->LookupContext();
7431 HValue* context = environment()->LookupContext();
7442 HValue* context = environment()->LookupContext();
7460 HValue* context = environment()->LookupContext();
7479 HValue* function = Pop();
7480 HValue* context = environment()->LookupContext();
7517 HValue* right = Pop();
7518 HValue* left = Pop();
7527 HValue* context = environment()->LookupContext();
7539 HValue* context = environment()->LookupContext();
7551 HValue* context = environment()->LookupContext();
7563 HValue* context = environment()->LookupContext();
7586 HValue* value = Pop();
7684 HValue* value = values_[i];
7696 HValue* old_value = values_[i];
7708 void HEnvironment::Bind(int index, HValue* value) {
7728 void HEnvironment::SetExpressionStackAt(int index_from_top, HValue* value) {
7823 HValue* push = (i <= arguments) ?
7852 HValue* val = values_.at(i);