Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index c0b3d395bb345f5542be53db9db43ed76e47a87a..77fa1cb07019061363af868bb813eff2fbeaa6c6 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -1217,8 +1217,8 @@ void HGraphBuilder::FinishExitCurrentBlock(HControlInstruction* instruction) { |
void HGraphBuilder::AddIncrementCounter(StatsCounter* counter) { |
if (FLAG_native_code_counters && counter->Enabled()) { |
HValue* reference = Add<HConstant>(ExternalReference(counter)); |
- HValue* old_value = Add<HLoadNamedField>( |
- reference, static_cast<HValue*>(NULL), HObjectAccess::ForCounter()); |
+ HValue* old_value = |
+ Add<HLoadNamedField>(reference, nullptr, HObjectAccess::ForCounter()); |
HValue* new_value = AddUncasted<HAdd>(old_value, graph()->GetConstant1()); |
new_value->ClearFlag(HValue::kCanOverflow); // Ignore counter overflow |
Add<HStoreNamedField>(reference, HObjectAccess::ForCounter(), |
@@ -1252,11 +1252,10 @@ HBasicBlock* HGraphBuilder::CreateLoopHeaderBlock() { |
HValue* HGraphBuilder::BuildGetElementsKind(HValue* object) { |
- HValue* map = Add<HLoadNamedField>(object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()); |
+ HValue* map = Add<HLoadNamedField>(object, nullptr, HObjectAccess::ForMap()); |
- HValue* bit_field2 = Add<HLoadNamedField>(map, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMapBitField2()); |
+ HValue* bit_field2 = |
+ Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapBitField2()); |
return BuildDecodeField<Map::ElementsKindBits>(bit_field2); |
} |
@@ -1415,10 +1414,11 @@ void HGraphBuilder::BuildTransitionElementsKind(HValue* object, |
HInstruction* elements_length = AddLoadFixedArrayLength(elements); |
- HInstruction* array_length = is_jsarray |
- ? Add<HLoadNamedField>(object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForArrayLength(from_kind)) |
- : elements_length; |
+ HInstruction* array_length = |
+ is_jsarray |
+ ? Add<HLoadNamedField>(object, nullptr, |
+ HObjectAccess::ForArrayLength(from_kind)) |
+ : elements_length; |
BuildGrowElementsCapacity(object, elements, from_kind, to_kind, |
array_length, elements_length); |
@@ -1436,14 +1436,14 @@ void HGraphBuilder::BuildJSObjectCheck(HValue* receiver, |
Add<HCheckHeapObject>(receiver); |
// Get the map of the receiver. |
- HValue* map = Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()); |
+ HValue* map = |
+ Add<HLoadNamedField>(receiver, nullptr, HObjectAccess::ForMap()); |
// Check the instance type and if an access check is needed, this can be |
// done with a single load, since both bytes are adjacent in the map. |
HObjectAccess access(HObjectAccess::ForMapInstanceTypeAndBitField()); |
HValue* instance_type_and_bit_field = |
- Add<HLoadNamedField>(map, static_cast<HValue*>(NULL), access); |
+ Add<HLoadNamedField>(map, nullptr, access); |
HValue* mask = Add<HConstant>(0x00FF | (bit_field_mask << 8)); |
HValue* and_result = AddUncasted<HBitwise>(Token::BIT_AND, |
@@ -1472,11 +1472,9 @@ void HGraphBuilder::BuildKeyedIndexCheck(HValue* key, |
} |
key_smi_if.Else(); |
{ |
- HValue* map = Add<HLoadNamedField>(key, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()); |
+ HValue* map = Add<HLoadNamedField>(key, nullptr, HObjectAccess::ForMap()); |
HValue* instance_type = |
- Add<HLoadNamedField>(map, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMapInstanceType()); |
+ Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapInstanceType()); |
// Non-unique string, check for a string with a hash code that is actually |
// an index. |
@@ -1508,9 +1506,8 @@ void HGraphBuilder::BuildKeyedIndexCheck(HValue* key, |
{ |
// String: check whether the String is a String of an index. If it is, |
// extract the index value from the hash. |
- HValue* hash = |
- Add<HLoadNamedField>(key, static_cast<HValue*>(NULL), |
- HObjectAccess::ForNameHashField()); |
+ HValue* hash = Add<HLoadNamedField>(key, nullptr, |
+ HObjectAccess::ForNameHashField()); |
HValue* not_index_mask = Add<HConstant>(static_cast<int>( |
String::kContainsCachedArrayIndexMask)); |
@@ -1569,11 +1566,10 @@ void HGraphBuilder::BuildKeyedIndexCheck(HValue* key, |
void HGraphBuilder::BuildNonGlobalObjectCheck(HValue* receiver) { |
// Get the the instance type of the receiver, and make sure that it is |
// not one of the global object types. |
- HValue* map = Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()); |
+ HValue* map = |
+ Add<HLoadNamedField>(receiver, nullptr, HObjectAccess::ForMap()); |
HValue* instance_type = |
- Add<HLoadNamedField>(map, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMapInstanceType()); |
+ Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapInstanceType()); |
STATIC_ASSERT(JS_BUILTINS_OBJECT_TYPE == JS_GLOBAL_OBJECT_TYPE + 1); |
HValue* min_global_type = Add<HConstant>(JS_GLOBAL_OBJECT_TYPE); |
HValue* max_global_type = Add<HConstant>(JS_BUILTINS_OBJECT_TYPE); |
@@ -1595,11 +1591,9 @@ void HGraphBuilder::BuildTestForDictionaryProperties( |
HValue* object, |
HIfContinuation* continuation) { |
HValue* properties = Add<HLoadNamedField>( |
- object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForPropertiesPointer()); |
+ object, nullptr, HObjectAccess::ForPropertiesPointer()); |
HValue* properties_map = |
- Add<HLoadNamedField>(properties, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()); |
+ Add<HLoadNamedField>(properties, nullptr, HObjectAccess::ForMap()); |
HValue* hash_map = Add<HLoadRoot>(Heap::kHashTableMapRootIndex); |
IfBuilder builder(this); |
builder.If<HCompareObjectEqAndBranch>(properties_map, hash_map); |
@@ -1612,13 +1606,11 @@ HValue* HGraphBuilder::BuildKeyedLookupCacheHash(HValue* object, |
// Load the map of the receiver, compute the keyed lookup cache hash |
// based on 32 bits of the map pointer and the string hash. |
HValue* object_map = |
- Add<HLoadNamedField>(object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMapAsInteger32()); |
+ Add<HLoadNamedField>(object, nullptr, HObjectAccess::ForMapAsInteger32()); |
HValue* shifted_map = AddUncasted<HShr>( |
object_map, Add<HConstant>(KeyedLookupCache::kMapHashShift)); |
HValue* string_hash = |
- Add<HLoadNamedField>(key, static_cast<HValue*>(NULL), |
- HObjectAccess::ForStringHashField()); |
+ Add<HLoadNamedField>(key, nullptr, HObjectAccess::ForStringHashField()); |
HValue* shifted_hash = AddUncasted<HShr>( |
string_hash, Add<HConstant>(String::kHashShift)); |
HValue* xor_result = AddUncasted<HBitwise>(Token::BIT_XOR, shifted_map, |
@@ -1666,11 +1658,9 @@ HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(HValue* receiver, |
HValue* elements, |
HValue* key, |
HValue* hash) { |
- HValue* capacity = Add<HLoadKeyed>( |
- elements, |
- Add<HConstant>(NameDictionary::kCapacityIndex), |
- static_cast<HValue*>(NULL), |
- FAST_ELEMENTS); |
+ HValue* capacity = |
+ Add<HLoadKeyed>(elements, Add<HConstant>(NameDictionary::kCapacityIndex), |
+ nullptr, FAST_ELEMENTS); |
HValue* mask = AddUncasted<HSub>(capacity, graph()->GetConstant1()); |
mask->ChangeRepresentation(Representation::Integer32()); |
@@ -1700,8 +1690,8 @@ HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(HValue* receiver, |
AddUncasted<HAdd>(base_index, Add<HConstant>(start_offset)); |
key_index->ClearFlag(HValue::kCanOverflow); |
- HValue* candidate_key = Add<HLoadKeyed>( |
- elements, key_index, static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ HValue* candidate_key = |
+ Add<HLoadKeyed>(elements, key_index, nullptr, FAST_ELEMENTS); |
IfBuilder if_undefined(this); |
if_undefined.If<HCompareObjectEqAndBranch>(candidate_key, |
graph()->GetConstantUndefined()); |
@@ -1727,8 +1717,8 @@ HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(HValue* receiver, |
if_update_with_internalized.IfNot<HIsSmiAndBranch>(candidate_key); |
if_update_with_internalized.And(); |
HValue* map = AddLoadMap(candidate_key, smi_check); |
- HValue* instance_type = Add<HLoadNamedField>( |
- map, static_cast<HValue*>(NULL), HObjectAccess::ForMapInstanceType()); |
+ HValue* instance_type = |
+ Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapInstanceType()); |
HValue* not_internalized_bit = AddUncasted<HBitwise>( |
Token::BIT_AND, instance_type, |
Add<HConstant>(static_cast<int>(kIsNotInternalizedMask))); |
@@ -1755,8 +1745,8 @@ HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(HValue* receiver, |
HValue* details_index = |
AddUncasted<HAdd>(base_index, Add<HConstant>(start_offset + 2)); |
details_index->ClearFlag(HValue::kCanOverflow); |
- HValue* details = Add<HLoadKeyed>( |
- elements, details_index, static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ HValue* details = |
+ Add<HLoadKeyed>(elements, details_index, nullptr, FAST_ELEMENTS); |
int details_mask = PropertyDetails::TypeField::kMask | |
PropertyDetails::DeletedField::kMask; |
details = AddUncasted<HBitwise>(Token::BIT_AND, details, |
@@ -1768,8 +1758,7 @@ HValue* HGraphBuilder::BuildUncheckedDictionaryElementLoad(HValue* receiver, |
HValue* result_index = |
AddUncasted<HAdd>(base_index, Add<HConstant>(start_offset + 1)); |
result_index->ClearFlag(HValue::kCanOverflow); |
- Push(Add<HLoadKeyed>(elements, result_index, static_cast<HValue*>(NULL), |
- FAST_ELEMENTS)); |
+ Push(Add<HLoadKeyed>(elements, result_index, nullptr, FAST_ELEMENTS)); |
details_compare.Else(); |
Add<HPushArguments>(receiver, key); |
Push(Add<HCallRuntime>(isolate()->factory()->empty_string(), |
@@ -1821,15 +1810,14 @@ HValue* HGraphBuilder::BuildRegExpConstructResult(HValue* length, |
// Initialize the JSRegExpResult header. |
HValue* global_object = Add<HLoadNamedField>( |
- context(), static_cast<HValue*>(NULL), |
+ context(), nullptr, |
HObjectAccess::ForContextSlot(Context::GLOBAL_OBJECT_INDEX)); |
HValue* native_context = Add<HLoadNamedField>( |
- global_object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForGlobalObjectNativeContext()); |
+ global_object, nullptr, HObjectAccess::ForGlobalObjectNativeContext()); |
Add<HStoreNamedField>( |
result, HObjectAccess::ForMap(), |
Add<HLoadNamedField>( |
- native_context, static_cast<HValue*>(NULL), |
+ native_context, nullptr, |
HObjectAccess::ForContextSlot(Context::REGEXP_RESULT_MAP_INDEX))); |
HConstant* empty_fixed_array = |
Add<HConstant>(isolate()->factory()->empty_fixed_array()); |
@@ -1908,8 +1896,7 @@ HValue* HGraphBuilder::BuildNumberToString(HValue* object, Type* type) { |
// Load the key. |
HValue* key_index = AddUncasted<HShl>(hash, graph()->GetConstant1()); |
- HValue* key = Add<HLoadKeyed>(number_string_cache, key_index, |
- static_cast<HValue*>(NULL), |
+ HValue* key = Add<HLoadKeyed>(number_string_cache, key_index, nullptr, |
FAST_ELEMENTS, ALLOW_RETURN_HOLE); |
// Check if object == key. |
@@ -1945,8 +1932,7 @@ HValue* HGraphBuilder::BuildNumberToString(HValue* object, Type* type) { |
// Load the key. |
HValue* key_index = AddUncasted<HShl>(hash, graph()->GetConstant1()); |
- HValue* key = Add<HLoadKeyed>(number_string_cache, key_index, |
- static_cast<HValue*>(NULL), |
+ HValue* key = Add<HLoadKeyed>(number_string_cache, key_index, nullptr, |
FAST_ELEMENTS, ALLOW_RETURN_HOLE); |
// Check if the key is a heap number and compare it with the object. |
@@ -1999,8 +1985,7 @@ HValue* HGraphBuilder::BuildNumberToString(HValue* object, Type* type) { |
// Load the value in case of cache hit. |
HValue* key_index = Pop(); |
HValue* value_index = AddUncasted<HAdd>(key_index, graph()->GetConstant1()); |
- Push(Add<HLoadKeyed>(number_string_cache, value_index, |
- static_cast<HValue*>(NULL), |
+ Push(Add<HLoadKeyed>(number_string_cache, value_index, nullptr, |
FAST_ELEMENTS, ALLOW_RETURN_HOLE)); |
} |
if_found.Else(); |
@@ -2440,8 +2425,7 @@ HInstruction* HGraphBuilder::BuildUncheckedMonomorphicElementAccess( |
HValue* backing_store; |
if (IsExternalArrayElementsKind(elements_kind)) { |
backing_store = Add<HLoadNamedField>( |
- elements, static_cast<HValue*>(NULL), |
- HObjectAccess::ForExternalArrayExternalPointer()); |
+ elements, nullptr, HObjectAccess::ForExternalArrayExternalPointer()); |
} else { |
backing_store = elements; |
} |
@@ -2847,8 +2831,7 @@ void HGraphBuilder::BuildCopyProperties(HValue* from_properties, |
key = AddUncasted<HSub>(key, graph()->GetConstant1()); |
key->ClearFlag(HValue::kCanOverflow); |
- HValue* element = |
- Add<HLoadKeyed>(from_properties, key, static_cast<HValue*>(NULL), kind); |
+ HValue* element = Add<HLoadKeyed>(from_properties, key, nullptr, kind); |
Add<HStoreKeyed>(to_properties, key, element, kind); |
@@ -2888,8 +2871,7 @@ void HGraphBuilder::BuildCopyElements(HValue* from_elements, |
for (int i = 0; i < constant_capacity; i++) { |
HValue* key_constant = Add<HConstant>(i); |
HInstruction* value = Add<HLoadKeyed>(from_elements, key_constant, |
- static_cast<HValue*>(NULL), |
- from_elements_kind); |
+ nullptr, from_elements_kind); |
Add<HStoreKeyed>(to_elements, key_constant, value, to_elements_kind); |
} |
} else { |
@@ -2907,10 +2889,8 @@ void HGraphBuilder::BuildCopyElements(HValue* from_elements, |
key = AddUncasted<HSub>(key, graph()->GetConstant1()); |
key->ClearFlag(HValue::kCanOverflow); |
- HValue* element = Add<HLoadKeyed>(from_elements, key, |
- static_cast<HValue*>(NULL), |
- from_elements_kind, |
- ALLOW_RETURN_HOLE); |
+ HValue* element = Add<HLoadKeyed>(from_elements, key, nullptr, |
+ from_elements_kind, ALLOW_RETURN_HOLE); |
ElementsKind kind = (IsHoleyElementsKind(from_elements_kind) && |
IsFastSmiElementsKind(to_elements_kind)) |
@@ -3021,9 +3001,9 @@ HValue* HGraphBuilder::BuildCloneShallowArrayNonEmpty(HValue* boilerplate, |
// Copy the elements array header. |
for (int i = 0; i < FixedArrayBase::kHeaderSize; i += kPointerSize) { |
HObjectAccess access = HObjectAccess::ForFixedArrayHeader(i); |
- Add<HStoreNamedField>(elements, access, |
- Add<HLoadNamedField>(boilerplate_elements, |
- static_cast<HValue*>(NULL), access)); |
+ Add<HStoreNamedField>( |
+ elements, access, |
+ Add<HLoadNamedField>(boilerplate_elements, nullptr, access)); |
} |
// And the result of the length |
@@ -3102,10 +3082,10 @@ void HGraphBuilder::BuildCreateAllocationMemento( |
HObjectAccess::ForAllocationMementoSite(), |
allocation_site); |
if (FLAG_allocation_site_pretenuring) { |
- HValue* memento_create_count = Add<HLoadNamedField>( |
- allocation_site, static_cast<HValue*>(NULL), |
- HObjectAccess::ForAllocationSiteOffset( |
- AllocationSite::kPretenureCreateCountOffset)); |
+ HValue* memento_create_count = |
+ Add<HLoadNamedField>(allocation_site, nullptr, |
+ HObjectAccess::ForAllocationSiteOffset( |
+ AllocationSite::kPretenureCreateCountOffset)); |
memento_create_count = AddUncasted<HAdd>( |
memento_create_count, graph()->GetConstant1()); |
// This smi value is reset to zero after every gc, overflow isn't a problem |
@@ -3120,25 +3100,23 @@ void HGraphBuilder::BuildCreateAllocationMemento( |
HInstruction* HGraphBuilder::BuildGetNativeContext(HValue* closure) { |
// Get the global object, then the native context |
- HInstruction* context = |
- Add<HLoadNamedField>(closure, static_cast<HValue*>(NULL), |
- HObjectAccess::ForFunctionContextPointer()); |
+ HInstruction* context = Add<HLoadNamedField>( |
+ closure, nullptr, HObjectAccess::ForFunctionContextPointer()); |
HInstruction* global_object = Add<HLoadNamedField>( |
- context, static_cast<HValue*>(NULL), |
+ context, nullptr, |
HObjectAccess::ForContextSlot(Context::GLOBAL_OBJECT_INDEX)); |
HObjectAccess access = HObjectAccess::ForObservableJSObjectOffset( |
GlobalObject::kNativeContextOffset); |
- return Add<HLoadNamedField>( |
- global_object, static_cast<HValue*>(NULL), access); |
+ return Add<HLoadNamedField>(global_object, nullptr, access); |
} |
HInstruction* HGraphBuilder::BuildGetScriptContext(int context_index) { |
HValue* native_context = BuildGetNativeContext(); |
HValue* script_context_table = Add<HLoadNamedField>( |
- native_context, static_cast<HValue*>(NULL), |
+ native_context, nullptr, |
HObjectAccess::ForContextSlot(Context::SCRIPT_CONTEXT_TABLE_INDEX)); |
- return Add<HLoadNamedField>(script_context_table, static_cast<HValue*>(NULL), |
+ return Add<HLoadNamedField>(script_context_table, nullptr, |
HObjectAccess::ForScriptContext(context_index)); |
} |
@@ -3146,12 +3124,11 @@ HInstruction* HGraphBuilder::BuildGetScriptContext(int context_index) { |
HInstruction* HGraphBuilder::BuildGetNativeContext() { |
// Get the global object, then the native context |
HValue* global_object = Add<HLoadNamedField>( |
- context(), static_cast<HValue*>(NULL), |
+ context(), nullptr, |
HObjectAccess::ForContextSlot(Context::GLOBAL_OBJECT_INDEX)); |
- return Add<HLoadNamedField>( |
- global_object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForObservableJSObjectOffset( |
- GlobalObject::kNativeContextOffset)); |
+ return Add<HLoadNamedField>(global_object, nullptr, |
+ HObjectAccess::ForObservableJSObjectOffset( |
+ GlobalObject::kNativeContextOffset)); |
} |
@@ -3159,8 +3136,7 @@ HInstruction* HGraphBuilder::BuildGetArrayFunction() { |
HInstruction* native_context = BuildGetNativeContext(); |
HInstruction* index = |
Add<HConstant>(static_cast<int32_t>(Context::ARRAY_FUNCTION_INDEX)); |
- return Add<HLoadKeyed>( |
- native_context, index, static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ return Add<HLoadKeyed>(native_context, index, nullptr, FAST_ELEMENTS); |
} |
@@ -3205,8 +3181,8 @@ HValue* HGraphBuilder::JSArrayBuilder::EmitMapCode() { |
// No need for a context lookup if the kind_ matches the initial |
// map, because we can just load the map in that case. |
HObjectAccess access = HObjectAccess::ForPrototypeOrInitialMap(); |
- return builder()->Add<HLoadNamedField>( |
- constructor_function_, static_cast<HValue*>(NULL), access); |
+ return builder()->Add<HLoadNamedField>(constructor_function_, nullptr, |
+ access); |
} |
// TODO(mvstanton): we should always have a constructor function if we |
@@ -3218,21 +3194,21 @@ HValue* HGraphBuilder::JSArrayBuilder::EmitMapCode() { |
HInstruction* index = builder()->Add<HConstant>( |
static_cast<int32_t>(Context::JS_ARRAY_MAPS_INDEX)); |
- HInstruction* map_array = builder()->Add<HLoadKeyed>( |
- native_context, index, static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ HInstruction* map_array = |
+ builder()->Add<HLoadKeyed>(native_context, index, nullptr, FAST_ELEMENTS); |
HInstruction* kind_index = builder()->Add<HConstant>(kind_); |
- return builder()->Add<HLoadKeyed>( |
- map_array, kind_index, static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ return builder()->Add<HLoadKeyed>(map_array, kind_index, nullptr, |
+ FAST_ELEMENTS); |
} |
HValue* HGraphBuilder::JSArrayBuilder::EmitInternalMapCode() { |
// Find the map near the constructor function |
HObjectAccess access = HObjectAccess::ForPrototypeOrInitialMap(); |
- return builder()->Add<HLoadNamedField>( |
- constructor_function_, static_cast<HValue*>(NULL), access); |
+ return builder()->Add<HLoadNamedField>(constructor_function_, nullptr, |
+ access); |
} |
@@ -3331,16 +3307,14 @@ HAllocate* HGraphBuilder::JSArrayBuilder::AllocateArray( |
HValue* HGraphBuilder::AddLoadJSBuiltin(Builtins::JavaScript builtin) { |
HValue* global_object = Add<HLoadNamedField>( |
- context(), static_cast<HValue*>(NULL), |
+ context(), nullptr, |
HObjectAccess::ForContextSlot(Context::GLOBAL_OBJECT_INDEX)); |
HObjectAccess access = HObjectAccess::ForObservableJSObjectOffset( |
GlobalObject::kBuiltinsOffset); |
- HValue* builtins = Add<HLoadNamedField>( |
- global_object, static_cast<HValue*>(NULL), access); |
+ HValue* builtins = Add<HLoadNamedField>(global_object, nullptr, access); |
HObjectAccess function_access = HObjectAccess::ForObservableJSObjectOffset( |
JSBuiltinsObject::OffsetOfFunctionWithId(builtin)); |
- return Add<HLoadNamedField>( |
- builtins, static_cast<HValue*>(NULL), function_access); |
+ return Add<HLoadNamedField>(builtins, nullptr, function_access); |
} |
@@ -4587,7 +4561,7 @@ void HOptimizedGraphBuilder::VisitBlock(Block* stmt) { |
if (scope != NULL && current_block() != NULL) { |
HValue* inner_context = environment()->context(); |
HValue* outer_context = Add<HLoadNamedField>( |
- inner_context, static_cast<HValue*>(NULL), |
+ inner_context, nullptr, |
HObjectAccess::ForContextSlot(Context::PREVIOUS_INDEX)); |
HInstruction* instr = Add<HStoreFrameContext>(outer_context); |
@@ -4718,7 +4692,7 @@ void HOptimizedGraphBuilder::VisitContinueStatement( |
if (context_pop_count > 0) { |
while (context_pop_count-- > 0) { |
HInstruction* context_instruction = Add<HLoadNamedField>( |
- context, static_cast<HValue*>(NULL), |
+ context, nullptr, |
HObjectAccess::ForContextSlot(Context::PREVIOUS_INDEX)); |
context = context_instruction; |
} |
@@ -4750,7 +4724,7 @@ void HOptimizedGraphBuilder::VisitBreakStatement(BreakStatement* stmt) { |
if (context_pop_count > 0) { |
while (context_pop_count-- > 0) { |
HInstruction* context_instruction = Add<HLoadNamedField>( |
- context, static_cast<HValue*>(NULL), |
+ context, nullptr, |
HObjectAccess::ForContextSlot(Context::PREVIOUS_INDEX)); |
context = context_instruction; |
} |
@@ -5350,7 +5324,7 @@ HValue* HOptimizedGraphBuilder::BuildContextChainWalk(Variable* var) { |
int length = scope()->ContextChainLength(var->scope()); |
while (length-- > 0) { |
context = Add<HLoadNamedField>( |
- context, static_cast<HValue*>(NULL), |
+ context, nullptr, |
HObjectAccess::ForContextSlot(Context::PREVIOUS_INDEX)); |
} |
return context; |
@@ -5392,7 +5366,7 @@ void HOptimizedGraphBuilder::VisitVariableProxy(VariableProxy* expr) { |
Handle<Context> script_context = ScriptContextTable::GetContext( |
script_contexts, lookup.context_index); |
HInstruction* result = New<HLoadNamedField>( |
- Add<HConstant>(script_context), static_cast<HValue*>(NULL), |
+ Add<HConstant>(script_context), nullptr, |
HObjectAccess::ForContextSlot(lookup.slot_index)); |
return ast_context()->ReturnInstruction(result, expr->id()); |
} |
@@ -5420,7 +5394,7 @@ void HOptimizedGraphBuilder::VisitVariableProxy(VariableProxy* expr) { |
} |
} else { |
HValue* global_object = Add<HLoadNamedField>( |
- context(), static_cast<HValue*>(NULL), |
+ context(), nullptr, |
HObjectAccess::ForContextSlot(Context::GLOBAL_OBJECT_INDEX)); |
HLoadGlobalGeneric* instr = |
New<HLoadGlobalGeneric>(global_object, |
@@ -5872,7 +5846,7 @@ HInstruction* HOptimizedGraphBuilder::BuildLoadNamedField( |
(!FLAG_unbox_double_fields || !access.IsInobject())) { |
// Load the heap number. |
checked_object = Add<HLoadNamedField>( |
- checked_object, static_cast<HValue*>(NULL), |
+ checked_object, nullptr, |
access.WithRepresentation(Representation::Tagged())); |
// Load the double value from it. |
access = HObjectAccess::ForHeapNumberValue(); |
@@ -5924,8 +5898,8 @@ HInstruction* HOptimizedGraphBuilder::BuildStoreNamedField( |
heap_number); |
} else { |
// Already holds a HeapNumber; load the box and write its value field. |
- HInstruction* heap_number = Add<HLoadNamedField>( |
- checked_object, static_cast<HValue*>(NULL), heap_number_access); |
+ HInstruction* heap_number = |
+ Add<HLoadNamedField>(checked_object, nullptr, heap_number_access); |
instr = New<HStoreNamedField>(heap_number, |
HObjectAccess::ForHeapNumberValue(), |
value, STORE_TO_INITIALIZED_ENTRY); |
@@ -6589,7 +6563,7 @@ void HOptimizedGraphBuilder::HandleGlobalVariableAssignment( |
} |
} else { |
HValue* global_object = Add<HLoadNamedField>( |
- context(), static_cast<HValue*>(NULL), |
+ context(), nullptr, |
HObjectAccess::ForContextSlot(Context::GLOBAL_OBJECT_INDEX)); |
HStoreNamedGeneric* instr = |
Add<HStoreNamedGeneric>(global_object, var->name(), |
@@ -6873,9 +6847,8 @@ HInstruction* HGraphBuilder::AddLoadStringInstanceType(HValue* string) { |
} |
} |
return Add<HLoadNamedField>( |
- Add<HLoadNamedField>(string, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()), |
- static_cast<HValue*>(NULL), HObjectAccess::ForMapInstanceType()); |
+ Add<HLoadNamedField>(string, nullptr, HObjectAccess::ForMap()), nullptr, |
+ HObjectAccess::ForMapInstanceType()); |
} |
@@ -6886,7 +6859,7 @@ HInstruction* HGraphBuilder::AddLoadStringLength(HValue* string) { |
return Add<HConstant>(c_string->StringValue()->length()); |
} |
} |
- return Add<HLoadNamedField>(string, static_cast<HValue*>(NULL), |
+ return Add<HLoadNamedField>(string, nullptr, |
HObjectAccess::ForStringLength()); |
} |
@@ -7577,8 +7550,7 @@ HInstruction* HOptimizedGraphBuilder::BuildCallConstantFunction( |
} else { |
HValue* param_count_value = Add<HConstant>(formal_parameter_count); |
HValue* context = Add<HLoadNamedField>( |
- target, static_cast<HValue*>(NULL), |
- HObjectAccess::ForFunctionContextPointer()); |
+ target, nullptr, HObjectAccess::ForFunctionContextPointer()); |
return NewArgumentAdaptorCall(target, context, |
argument_count, param_count_value); |
} |
@@ -8365,9 +8337,9 @@ bool HOptimizedGraphBuilder::TryInlineBuiltinMethodCall( |
HValue* receiver = Pop(); |
HValue* checked_object = AddCheckMap(receiver, receiver_map); |
- HValue* length = Add<HLoadNamedField>( |
- checked_object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForArrayLength(elements_kind)); |
+ HValue* length = |
+ Add<HLoadNamedField>(checked_object, nullptr, |
+ HObjectAccess::ForArrayLength(elements_kind)); |
Drop(1); // Function. |
@@ -8448,8 +8420,8 @@ bool HOptimizedGraphBuilder::TryInlineBuiltinMethodCall( |
{ |
NoObservableSideEffectsScope scope(this); |
- length = Add<HLoadNamedField>(array, static_cast<HValue*>(NULL), |
- HObjectAccess::ForArrayLength(elements_kind)); |
+ length = Add<HLoadNamedField>( |
+ array, nullptr, HObjectAccess::ForArrayLength(elements_kind)); |
new_size = AddUncasted<HAdd>(length, graph()->GetConstant1()); |
@@ -8502,8 +8474,7 @@ bool HOptimizedGraphBuilder::TryInlineBuiltinMethodCall( |
NoObservableSideEffectsScope scope(this); |
HValue* length = Add<HLoadNamedField>( |
- receiver, static_cast<HValue*>(NULL), |
- HObjectAccess::ForArrayLength(kind)); |
+ receiver, nullptr, HObjectAccess::ForArrayLength(kind)); |
IfBuilder if_lengthiszero(this); |
HValue* lengthiszero = if_lengthiszero.If<HCompareNumericAndBranch>( |
@@ -9010,9 +8981,8 @@ HValue* HOptimizedGraphBuilder::BuildArrayIndexOf(HValue* receiver, |
LoopBuilder loop(this, context(), direction); |
{ |
HValue* index = loop.BeginBody(initial, terminating, token); |
- HValue* element = AddUncasted<HLoadKeyed>( |
- elements, index, static_cast<HValue*>(NULL), |
- kind, ALLOW_RETURN_HOLE); |
+ HValue* element = AddUncasted<HLoadKeyed>(elements, index, nullptr, kind, |
+ ALLOW_RETURN_HOLE); |
IfBuilder if_issame(this); |
if_issame.If<HCompareNumericAndBranch>(element, search_element, |
Token::EQ_STRICT); |
@@ -9033,9 +9003,8 @@ HValue* HOptimizedGraphBuilder::BuildArrayIndexOf(HValue* receiver, |
LoopBuilder loop(this, context(), direction); |
{ |
HValue* index = loop.BeginBody(initial, terminating, token); |
- HValue* element = AddUncasted<HLoadKeyed>( |
- elements, index, static_cast<HValue*>(NULL), |
- kind, ALLOW_RETURN_HOLE); |
+ HValue* element = AddUncasted<HLoadKeyed>(elements, index, nullptr, |
+ kind, ALLOW_RETURN_HOLE); |
IfBuilder if_issame(this); |
if_issame.If<HIsStringAndBranch>(element); |
if_issame.AndIf<HStringCompareAndBranch>( |
@@ -9064,9 +9033,8 @@ HValue* HOptimizedGraphBuilder::BuildArrayIndexOf(HValue* receiver, |
LoopBuilder loop(this, context(), direction); |
{ |
HValue* index = loop.BeginBody(initial, terminating, token); |
- HValue* element = AddUncasted<HLoadKeyed>( |
- elements, index, static_cast<HValue*>(NULL), |
- kind, ALLOW_RETURN_HOLE); |
+ HValue* element = AddUncasted<HLoadKeyed>(elements, index, nullptr, |
+ kind, ALLOW_RETURN_HOLE); |
IfBuilder if_element_isnumber(this); |
if_element_isnumber.If<HIsSmiAndBranch>(element); |
@@ -9097,9 +9065,8 @@ HValue* HOptimizedGraphBuilder::BuildArrayIndexOf(HValue* receiver, |
LoopBuilder loop(this, context(), direction); |
{ |
HValue* index = loop.BeginBody(initial, terminating, token); |
- HValue* element = AddUncasted<HLoadKeyed>( |
- elements, index, static_cast<HValue*>(NULL), |
- kind, ALLOW_RETURN_HOLE); |
+ HValue* element = AddUncasted<HLoadKeyed>(elements, index, nullptr, |
+ kind, ALLOW_RETURN_HOLE); |
IfBuilder if_issame(this); |
if_issame.If<HCompareObjectEqAndBranch>( |
element, search_element); |
@@ -9620,11 +9587,9 @@ void HGraphBuilder::BuildArrayBufferViewInitialization( |
HObjectAccess::ForJSArrayBufferViewBuffer(), buffer); |
HObjectAccess weak_first_view_access = |
HObjectAccess::ForJSArrayBufferWeakFirstView(); |
- Add<HStoreNamedField>(obj, |
- HObjectAccess::ForJSArrayBufferViewWeakNext(), |
- Add<HLoadNamedField>(buffer, |
- static_cast<HValue*>(NULL), |
- weak_first_view_access)); |
+ Add<HStoreNamedField>( |
+ obj, HObjectAccess::ForJSArrayBufferViewWeakNext(), |
+ Add<HLoadNamedField>(buffer, nullptr, weak_first_view_access)); |
Add<HStoreNamedField>(buffer, weak_first_view_access, obj); |
} else { |
Add<HStoreNamedField>( |
@@ -9704,8 +9669,7 @@ HValue* HOptimizedGraphBuilder::BuildAllocateExternalElements( |
HObjectAccess::ForFixedArrayLength(), length); |
HValue* backing_store = Add<HLoadNamedField>( |
- buffer, static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSArrayBufferBackingStore()); |
+ buffer, nullptr, HObjectAccess::ForJSArrayBufferBackingStore()); |
HValue* typed_array_start; |
if (is_zero_byte_offset) { |
@@ -9923,9 +9887,7 @@ void HOptimizedGraphBuilder::GenerateArrayBufferGetByteLength( |
CHECK_ALIVE(VisitForValue(expr->arguments()->at(0))); |
HValue* buffer = Pop(); |
HInstruction* result = New<HLoadNamedField>( |
- buffer, |
- static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSArrayBufferByteLength()); |
+ buffer, nullptr, HObjectAccess::ForJSArrayBufferByteLength()); |
return ast_context()->ReturnInstruction(result, expr->id()); |
} |
@@ -9936,9 +9898,7 @@ void HOptimizedGraphBuilder::GenerateArrayBufferViewGetByteLength( |
CHECK_ALIVE(VisitForValue(expr->arguments()->at(0))); |
HValue* buffer = Pop(); |
HInstruction* result = New<HLoadNamedField>( |
- buffer, |
- static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSArrayBufferViewByteLength()); |
+ buffer, nullptr, HObjectAccess::ForJSArrayBufferViewByteLength()); |
return ast_context()->ReturnInstruction(result, expr->id()); |
} |
@@ -9949,9 +9909,7 @@ void HOptimizedGraphBuilder::GenerateArrayBufferViewGetByteOffset( |
CHECK_ALIVE(VisitForValue(expr->arguments()->at(0))); |
HValue* buffer = Pop(); |
HInstruction* result = New<HLoadNamedField>( |
- buffer, |
- static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSArrayBufferViewByteOffset()); |
+ buffer, nullptr, HObjectAccess::ForJSArrayBufferViewByteOffset()); |
return ast_context()->ReturnInstruction(result, expr->id()); |
} |
@@ -9962,9 +9920,7 @@ void HOptimizedGraphBuilder::GenerateTypedArrayGetLength( |
CHECK_ALIVE(VisitForValue(expr->arguments()->at(0))); |
HValue* buffer = Pop(); |
HInstruction* result = New<HLoadNamedField>( |
- buffer, |
- static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSTypedArrayLength()); |
+ buffer, nullptr, HObjectAccess::ForJSTypedArrayLength()); |
return ast_context()->ReturnInstruction(result, expr->id()); |
} |
@@ -11371,10 +11327,8 @@ void HOptimizedGraphBuilder::BuildEmitFixedDoubleArray( |
int elements_length = elements->length(); |
for (int i = 0; i < elements_length; i++) { |
HValue* key_constant = Add<HConstant>(i); |
- HInstruction* value_instruction = |
- Add<HLoadKeyed>(boilerplate_elements, key_constant, |
- static_cast<HValue*>(NULL), kind, |
- ALLOW_RETURN_HOLE); |
+ HInstruction* value_instruction = Add<HLoadKeyed>( |
+ boilerplate_elements, key_constant, nullptr, kind, ALLOW_RETURN_HOLE); |
HInstruction* store = Add<HStoreKeyed>(object_elements, key_constant, |
value_instruction, kind); |
store->SetFlag(HValue::kAllowUndefinedAsNaN); |
@@ -11403,9 +11357,9 @@ void HOptimizedGraphBuilder::BuildEmitFixedArray( |
} else { |
ElementsKind copy_kind = |
kind == FAST_HOLEY_SMI_ELEMENTS ? FAST_HOLEY_ELEMENTS : kind; |
- HInstruction* value_instruction = Add<HLoadKeyed>( |
- boilerplate_elements, key_constant, static_cast<HValue*>(NULL), |
- copy_kind, ALLOW_RETURN_HOLE); |
+ HInstruction* value_instruction = |
+ Add<HLoadKeyed>(boilerplate_elements, key_constant, nullptr, |
+ copy_kind, ALLOW_RETURN_HOLE); |
Add<HStoreKeyed>(object_elements, key_constant, value_instruction, |
copy_kind); |
} |
@@ -11656,8 +11610,8 @@ void HOptimizedGraphBuilder::GenerateIsJSProxy(CallRuntime* call) { |
HValue* smicheck = if_proxy.IfNot<HIsSmiAndBranch>(value); |
if_proxy.And(); |
HValue* map = Add<HLoadNamedField>(value, smicheck, HObjectAccess::ForMap()); |
- HValue* instance_type = Add<HLoadNamedField>( |
- map, static_cast<HValue*>(NULL), HObjectAccess::ForMapInstanceType()); |
+ HValue* instance_type = |
+ Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapInstanceType()); |
if_proxy.If<HCompareNumericAndBranch>( |
instance_type, Add<HConstant>(FIRST_JS_PROXY_TYPE), Token::GTE); |
if_proxy.And(); |
@@ -12134,8 +12088,7 @@ HValue* HOptimizedGraphBuilder::BuildOrderedHashTableHashToEntry( |
HValue* entry_index = AddUncasted<HAdd>( |
bucket, Add<HConstant>(CollectionType::kHashTableStartIndex)); |
entry_index->ClearFlag(HValue::kCanOverflow); |
- HValue* entry = Add<HLoadKeyed>(table, entry_index, |
- static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ HValue* entry = Add<HLoadKeyed>(table, entry_index, nullptr, FAST_ELEMENTS); |
entry->set_type(HType::Smi()); |
return entry; |
} |
@@ -12161,7 +12114,7 @@ HValue* HOptimizedGraphBuilder::BuildOrderedHashTableFindEntry(HValue* table, |
HValue* key, |
HValue* hash) { |
HValue* num_buckets = Add<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
+ table, nullptr, |
HObjectAccess::ForOrderedHashTableNumberOfBuckets<CollectionType>()); |
HValue* entry = BuildOrderedHashTableHashToEntry<CollectionType>(table, hash, |
@@ -12185,8 +12138,8 @@ HValue* HOptimizedGraphBuilder::BuildOrderedHashTableFindEntry(HValue* table, |
HValue* key_index = |
BuildOrderedHashTableEntryToIndex<CollectionType>(entry, num_buckets); |
- HValue* candidate_key = Add<HLoadKeyed>( |
- table, key_index, static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ HValue* candidate_key = |
+ Add<HLoadKeyed>(table, key_index, nullptr, FAST_ELEMENTS); |
{ |
IfBuilder if_keys_equal(this); |
@@ -12202,8 +12155,7 @@ HValue* HOptimizedGraphBuilder::BuildOrderedHashTableFindEntry(HValue* table, |
HValue* chain_index = AddUncasted<HAdd>( |
key_index, Add<HConstant>(CollectionType::kChainOffset)); |
chain_index->ClearFlag(HValue::kCanOverflow); |
- entry = Add<HLoadKeyed>(table, chain_index, static_cast<HValue*>(NULL), |
- FAST_ELEMENTS); |
+ entry = Add<HLoadKeyed>(table, chain_index, nullptr, FAST_ELEMENTS); |
entry->set_type(HType::Smi()); |
Push(entry); |
@@ -12229,9 +12181,8 @@ void HOptimizedGraphBuilder::GenerateMapGet(CallRuntime* call) { |
IfBuilder string_checker(this, &continuation); |
string_checker.Then(); |
{ |
- HValue* table = |
- Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSCollectionTable()); |
+ HValue* table = Add<HLoadNamedField>( |
+ receiver, nullptr, HObjectAccess::ForJSCollectionTable()); |
HValue* key_index = |
BuildOrderedHashTableFindEntry<OrderedHashMap>(table, key, hash); |
IfBuilder if_found(this); |
@@ -12242,8 +12193,7 @@ void HOptimizedGraphBuilder::GenerateMapGet(CallRuntime* call) { |
HValue* value_index = AddUncasted<HAdd>( |
key_index, Add<HConstant>(OrderedHashMap::kValueOffset)); |
value_index->ClearFlag(HValue::kCanOverflow); |
- Push(Add<HLoadKeyed>(table, value_index, static_cast<HValue*>(NULL), |
- FAST_ELEMENTS)); |
+ Push(Add<HLoadKeyed>(table, value_index, nullptr, FAST_ELEMENTS)); |
} |
if_found.Else(); |
Push(graph()->GetConstantUndefined()); |
@@ -12266,7 +12216,7 @@ HValue* HOptimizedGraphBuilder::BuildStringHashLoadIfIsStringAndHashComputed( |
IfBuilder string_checker(this); |
string_checker.If<HIsStringAndBranch>(object); |
string_checker.And(); |
- HValue* hash = Add<HLoadNamedField>(object, static_cast<HValue*>(NULL), |
+ HValue* hash = Add<HLoadNamedField>(object, nullptr, |
HObjectAccess::ForStringHashField()); |
HValue* hash_not_computed_mask = Add<HConstant>(String::kHashNotComputedMask); |
HValue* hash_computed_test = |
@@ -12299,9 +12249,8 @@ void HOptimizedGraphBuilder::BuildJSCollectionHas( |
IfBuilder string_checker(this, &continuation); |
string_checker.Then(); |
{ |
- HValue* table = |
- Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSCollectionTable()); |
+ HValue* table = Add<HLoadNamedField>( |
+ receiver, nullptr, HObjectAccess::ForJSCollectionTable()); |
HValue* key_index = |
BuildOrderedHashTableFindEntry<CollectionType>(table, key, hash); |
{ |
@@ -12342,18 +12291,17 @@ HValue* HOptimizedGraphBuilder::BuildOrderedHashTableAddEntry( |
HValue* table, HValue* key, HValue* hash, |
HIfContinuation* join_continuation) { |
HValue* num_buckets = Add<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
+ table, nullptr, |
HObjectAccess::ForOrderedHashTableNumberOfBuckets<CollectionType>()); |
HValue* capacity = AddUncasted<HMul>( |
num_buckets, Add<HConstant>(CollectionType::kLoadFactor)); |
capacity->ClearFlag(HValue::kCanOverflow); |
HValue* num_elements = Add<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
+ table, nullptr, |
HObjectAccess::ForOrderedHashTableNumberOfElements<CollectionType>()); |
HValue* num_deleted = Add<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
- HObjectAccess::ForOrderedHashTableNumberOfDeletedElements< |
- CollectionType>()); |
+ table, nullptr, HObjectAccess::ForOrderedHashTableNumberOfDeletedElements< |
+ CollectionType>()); |
HValue* used = AddUncasted<HAdd>(num_elements, num_deleted); |
used->ClearFlag(HValue::kCanOverflow); |
IfBuilder if_space_available(this); |
@@ -12367,8 +12315,8 @@ HValue* HOptimizedGraphBuilder::BuildOrderedHashTableAddEntry( |
HValue* bucket_index = AddUncasted<HAdd>( |
bucket, Add<HConstant>(CollectionType::kHashTableStartIndex)); |
bucket_index->ClearFlag(HValue::kCanOverflow); |
- HValue* chain_entry = Add<HLoadKeyed>( |
- table, bucket_index, static_cast<HValue*>(NULL), FAST_ELEMENTS); |
+ HValue* chain_entry = |
+ Add<HLoadKeyed>(table, bucket_index, nullptr, FAST_ELEMENTS); |
chain_entry->set_type(HType::Smi()); |
HValue* chain_index = AddUncasted<HAdd>( |
@@ -12410,7 +12358,7 @@ void HOptimizedGraphBuilder::GenerateMapSet(CallRuntime* call) { |
IfBuilder string_checker(this, &got_string_hash); |
string_checker.Then(); |
{ |
- HValue* table = Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
+ HValue* table = Add<HLoadNamedField>(receiver, nullptr, |
HObjectAccess::ForJSCollectionTable()); |
HValue* key_index = |
BuildOrderedHashTableFindEntry<OrderedHashMap>(table, key, hash); |
@@ -12477,7 +12425,7 @@ void HOptimizedGraphBuilder::GenerateSetAdd(CallRuntime* call) { |
IfBuilder string_checker(this, &got_string_hash); |
string_checker.Then(); |
{ |
- HValue* table = Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
+ HValue* table = Add<HLoadNamedField>(receiver, nullptr, |
HObjectAccess::ForJSCollectionTable()); |
HValue* key_index = |
BuildOrderedHashTableFindEntry<OrderedHashSet>(table, key, hash); |
@@ -12526,7 +12474,7 @@ void HOptimizedGraphBuilder::BuildJSCollectionDelete( |
IfBuilder string_checker(this, &got_string_hash); |
string_checker.Then(); |
{ |
- HValue* table = Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
+ HValue* table = Add<HLoadNamedField>(receiver, nullptr, |
HObjectAccess::ForJSCollectionTable()); |
HValue* key_index = |
BuildOrderedHashTableFindEntry<CollectionType>(table, key, hash); |
@@ -12539,16 +12487,14 @@ void HOptimizedGraphBuilder::BuildJSCollectionDelete( |
// If we're removing an element, we might need to shrink. |
// If we do need to shrink, we'll be bailing out to the runtime. |
HValue* num_elements = Add<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
- HObjectAccess::ForOrderedHashTableNumberOfElements< |
- CollectionType>()); |
+ table, nullptr, HObjectAccess::ForOrderedHashTableNumberOfElements< |
+ CollectionType>()); |
num_elements = AddUncasted<HSub>(num_elements, graph()->GetConstant1()); |
num_elements->ClearFlag(HValue::kCanOverflow); |
HValue* num_buckets = Add<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
- HObjectAccess::ForOrderedHashTableNumberOfBuckets< |
- CollectionType>()); |
+ table, nullptr, HObjectAccess::ForOrderedHashTableNumberOfBuckets< |
+ CollectionType>()); |
// threshold is capacity >> 2; we simplify this to num_buckets >> 1 |
// since kLoadFactor is 2. |
STATIC_ASSERT(CollectionType::kLoadFactor == 2); |
@@ -12574,7 +12520,7 @@ void HOptimizedGraphBuilder::BuildJSCollectionDelete( |
STATIC_ASSERT(CollectionType::kChainOffset <= 2); |
HValue* num_deleted = Add<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
+ table, nullptr, |
HObjectAccess::ForOrderedHashTableNumberOfDeletedElements< |
CollectionType>()); |
num_deleted = AddUncasted<HAdd>(num_deleted, graph()->GetConstant1()); |
@@ -12630,10 +12576,10 @@ void HOptimizedGraphBuilder::GenerateSetGetSize(CallRuntime* call) { |
DCHECK(call->arguments()->length() == 1); |
CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); |
HValue* receiver = Pop(); |
- HValue* table = Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
+ HValue* table = Add<HLoadNamedField>(receiver, nullptr, |
HObjectAccess::ForJSCollectionTable()); |
HInstruction* result = New<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
+ table, nullptr, |
HObjectAccess::ForOrderedHashTableNumberOfElements<OrderedHashSet>()); |
return ast_context()->ReturnInstruction(result, call->id()); |
} |
@@ -12643,10 +12589,10 @@ void HOptimizedGraphBuilder::GenerateMapGetSize(CallRuntime* call) { |
DCHECK(call->arguments()->length() == 1); |
CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); |
HValue* receiver = Pop(); |
- HValue* table = Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
+ HValue* table = Add<HLoadNamedField>(receiver, nullptr, |
HObjectAccess::ForJSCollectionTable()); |
HInstruction* result = New<HLoadNamedField>( |
- table, static_cast<HValue*>(NULL), |
+ table, nullptr, |
HObjectAccess::ForOrderedHashTableNumberOfElements<OrderedHashMap>()); |
return ast_context()->ReturnInstruction(result, call->id()); |
} |
@@ -12733,9 +12679,8 @@ void HOptimizedGraphBuilder::GenerateMapInitialize(CallRuntime* call) { |
template <typename CollectionType> |
void HOptimizedGraphBuilder::BuildOrderedHashTableClear(HValue* receiver) { |
- HValue* old_table = |
- Add<HLoadNamedField>(receiver, static_cast<HValue*>(NULL), |
- HObjectAccess::ForJSCollectionTable()); |
+ HValue* old_table = Add<HLoadNamedField>( |
+ receiver, nullptr, HObjectAccess::ForJSCollectionTable()); |
HValue* new_table = BuildAllocateOrderedHashTable<CollectionType>(); |
Add<HStoreNamedField>( |
old_table, HObjectAccess::ForOrderedHashTableNextTable<CollectionType>(), |
@@ -12807,8 +12752,8 @@ void HOptimizedGraphBuilder::GenerateDebugIsActive(CallRuntime* call) { |
DCHECK(call->arguments()->length() == 0); |
HValue* ref = |
Add<HConstant>(ExternalReference::debug_is_active_address(isolate())); |
- HValue* value = Add<HLoadNamedField>( |
- ref, static_cast<HValue*>(NULL), HObjectAccess::ForExternalUInteger8()); |
+ HValue* value = |
+ Add<HLoadNamedField>(ref, nullptr, HObjectAccess::ForExternalUInteger8()); |
return ast_context()->ReturnValue(value); |
} |
@@ -12820,21 +12765,20 @@ void HOptimizedGraphBuilder::GenerateGetPrototype(CallRuntime* call) { |
NoObservableSideEffectsScope no_effects(this); |
- HValue* map = Add<HLoadNamedField>(object, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()); |
- HValue* bit_field = Add<HLoadNamedField>(map, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMapBitField()); |
+ HValue* map = Add<HLoadNamedField>(object, nullptr, HObjectAccess::ForMap()); |
+ HValue* bit_field = |
+ Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapBitField()); |
HValue* is_access_check_needed_mask = |
Add<HConstant>(1 << Map::kIsAccessCheckNeeded); |
HValue* is_access_check_needed_test = AddUncasted<HBitwise>( |
Token::BIT_AND, bit_field, is_access_check_needed_mask); |
- HValue* proto = Add<HLoadNamedField>(map, static_cast<HValue*>(NULL), |
- HObjectAccess::ForPrototype()); |
- HValue* proto_map = Add<HLoadNamedField>(proto, static_cast<HValue*>(NULL), |
- HObjectAccess::ForMap()); |
- HValue* proto_bit_field = Add<HLoadNamedField>( |
- proto_map, static_cast<HValue*>(NULL), HObjectAccess::ForMapBitField()); |
+ HValue* proto = |
+ Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForPrototype()); |
+ HValue* proto_map = |
+ Add<HLoadNamedField>(proto, nullptr, HObjectAccess::ForMap()); |
+ HValue* proto_bit_field = |
+ Add<HLoadNamedField>(proto_map, nullptr, HObjectAccess::ForMapBitField()); |
HValue* is_hidden_prototype_mask = |
Add<HConstant>(1 << Map::kIsHiddenPrototype); |
HValue* is_hidden_prototype_test = AddUncasted<HBitwise>( |