Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(478)

Unified Diff: src/objects.cc

Issue 2627003005: [printing] Remove duplicate code that prints property details. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/objects.h ('k') | src/objects-inl.h » ('j') | src/property.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index 4a517c94c840fc1245bf4d45faf004cc63ee0f70..cb42341cc9f9507c43d635d01c4dfea1f7af1b86 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -3327,11 +3327,20 @@ Context* JSReceiver::GetCreationContext() {
return function->context()->native_context();
}
-Handle<Object> Map::WrapType(Handle<FieldType> type) {
+Handle<Object> Map::WrapFieldType(Handle<FieldType> type) {
if (type->IsClass()) return Map::WeakCellForMap(type->AsClass());
return type;
}
+FieldType* Map::UnwrapFieldType(Object* wrapped_type) {
+ Object* value = wrapped_type;
+ if (value->IsWeakCell()) {
+ if (WeakCell::cast(value)->cleared()) return FieldType::None();
+ value = WeakCell::cast(value)->value();
+ }
+ return FieldType::cast(value);
+}
+
MaybeHandle<Map> Map::CopyWithField(Handle<Map> map, Handle<Name> name,
Handle<FieldType> type,
PropertyAttributes attributes,
@@ -3356,7 +3365,7 @@ MaybeHandle<Map> Map::CopyWithField(Handle<Map> map, Handle<Name> name,
type = FieldType::Any(isolate);
}
- Handle<Object> wrapped_type(WrapType(type));
+ Handle<Object> wrapped_type(WrapFieldType(type));
Descriptor d = Descriptor::DataField(name, index, wrapped_type, attributes,
representation);
@@ -4139,7 +4148,7 @@ void Map::GeneralizeField(Handle<Map> map, int modify_index,
PropertyDetails details = descriptors->GetDetails(modify_index);
Handle<Name> name(descriptors->GetKey(modify_index));
- Handle<Object> wrapped_type(WrapType(new_field_type));
+ Handle<Object> wrapped_type(WrapFieldType(new_field_type));
field_owner->UpdateFieldType(modify_index, name, new_representation,
wrapped_type);
field_owner->dependent_code()->DeoptimizeDependentCodeGroup(
@@ -9109,16 +9118,6 @@ Handle<Map> Map::CopyForPreventExtensions(Handle<Map> map,
return new_map;
}
-FieldType* DescriptorArray::GetFieldType(int descriptor_number) {
- DCHECK(GetDetails(descriptor_number).location() == kField);
- Object* value = GetValue(descriptor_number);
- if (value->IsWeakCell()) {
- if (WeakCell::cast(value)->cleared()) return FieldType::None();
- value = WeakCell::cast(value)->value();
- }
- return FieldType::cast(value);
-}
-
namespace {
bool CanHoldValue(DescriptorArray* descriptors, int descriptor, Object* value) {
@@ -15790,7 +15789,8 @@ void Dictionary<Derived, Shape, Key>::Print(std::ostream& os) { // NOLINT
} else {
os << Brief(k);
}
- os << ": " << Brief(this->ValueAt(i)) << " " << this->DetailsAt(i);
+ os << ": " << Brief(this->ValueAt(i)) << " ";
+ this->DetailsAt(i).PrintAsSlowTo(os);
}
}
}
« no previous file with comments | « src/objects.h ('k') | src/objects-inl.h » ('j') | src/property.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698