| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index cb8c2eed1c63c66a9f13f9ef6e596b6624048cb1..5bf3dc090712985bbd973ccee6e3548ed47dc2b3 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -683,11 +683,6 @@ HConstant* HGraph::GetConstantMinus1() {
|
| }
|
|
|
|
|
| -HConstant* HGraph::GetConstantBool(bool value) {
|
| - return value ? GetConstantTrue() : GetConstantFalse();
|
| -}
|
| -
|
| -
|
| #define DEFINE_GET_CONSTANT(Name, name, type, htype, boolean_value) \
|
| HConstant* HGraph::GetConstant##Name() { \
|
| if (!constant_##name##_.is_set()) { \
|
| @@ -1672,9 +1667,10 @@ HValue* HGraphBuilder::BuildElementIndexHash(HValue* index) {
|
| }
|
|
|
|
|
| -HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(
|
| - HValue* receiver, HValue* elements, HValue* key, HValue* hash,
|
| - LanguageMode language_mode) {
|
| +HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(HValue* receiver,
|
| + HValue* elements,
|
| + HValue* key,
|
| + HValue* hash) {
|
| HValue* capacity =
|
| Add<HLoadKeyed>(elements, Add<HConstant>(NameDictionary::kCapacityIndex),
|
| nullptr, FAST_ELEMENTS);
|
| @@ -1716,10 +1712,10 @@ HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(
|
| {
|
| // element == undefined means "not found". Call the runtime.
|
| // TODO(jkummerow): walk the prototype chain instead.
|
| - Add<HPushArguments>(receiver, key, Add<HConstant>(language_mode));
|
| + Add<HPushArguments>(receiver, key);
|
| Push(Add<HCallRuntime>(isolate()->factory()->empty_string(),
|
| Runtime::FunctionForId(Runtime::kKeyedGetProperty),
|
| - 3));
|
| + 2));
|
| }
|
| if_undefined.Else();
|
| {
|
| @@ -1776,10 +1772,10 @@ HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(
|
| result_index->ClearFlag(HValue::kCanOverflow);
|
| Push(Add<HLoadKeyed>(elements, result_index, nullptr, FAST_ELEMENTS));
|
| details_compare.Else();
|
| - Add<HPushArguments>(receiver, key, Add<HConstant>(language_mode));
|
| + Add<HPushArguments>(receiver, key);
|
| Push(Add<HCallRuntime>(isolate()->factory()->empty_string(),
|
| Runtime::FunctionForId(Runtime::kKeyedGetProperty),
|
| - 3));
|
| + 2));
|
| details_compare.End();
|
|
|
| found_key_match.Else();
|
| @@ -6224,7 +6220,7 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() {
|
| if (IsFound()) return IsLoad() || !IsReadOnly();
|
| if (IsIntegerIndexedExotic()) return false;
|
| if (!LookupInPrototypes()) return false;
|
| - if (IsLoad()) return !is_strong(builder_->function_language_mode());
|
| + if (IsLoad()) return true;
|
|
|
| if (IsAccessorConstant()) return true;
|
| LookupTransition(*map_, *name_, NONE);
|
| @@ -7042,14 +7038,14 @@ HInstruction* HOptimizedGraphBuilder::BuildNamedGeneric(
|
| // use a generic Keyed Load if we are using the type vector, because
|
| // it has to share information with full code.
|
| HConstant* key = Add<HConstant>(name);
|
| - HLoadKeyedGeneric* result = New<HLoadKeyedGeneric>(
|
| - object, key, function_language_mode(), PREMONOMORPHIC);
|
| + HLoadKeyedGeneric* result =
|
| + New<HLoadKeyedGeneric>(object, key, PREMONOMORPHIC);
|
| result->SetVectorAndSlot(vector, slot);
|
| return result;
|
| }
|
|
|
| - HLoadNamedGeneric* result = New<HLoadNamedGeneric>(
|
| - object, name, function_language_mode(), PREMONOMORPHIC);
|
| + HLoadNamedGeneric* result =
|
| + New<HLoadNamedGeneric>(object, name, PREMONOMORPHIC);
|
| result->SetVectorAndSlot(vector, slot);
|
| return result;
|
| } else {
|
| @@ -7068,8 +7064,8 @@ HInstruction* HOptimizedGraphBuilder::BuildKeyedGeneric(
|
| HValue* value) {
|
| if (access_type == LOAD) {
|
| InlineCacheState initial_state = expr->AsProperty()->GetInlineCacheState();
|
| - HLoadKeyedGeneric* result = New<HLoadKeyedGeneric>(
|
| - object, key, function_language_mode(), initial_state);
|
| + HLoadKeyedGeneric* result =
|
| + New<HLoadKeyedGeneric>(object, key, initial_state);
|
| // HLoadKeyedGeneric with vector ics benefits from being encoded as
|
| // MEGAMORPHIC because the vector/slot combo becomes unnecessary.
|
| if (initial_state != MEGAMORPHIC) {
|
|
|