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

Side by Side Diff: src/property-details.h

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 unified diff | Download patch
« src/property.cc ('K') | « src/property.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_PROPERTY_DETAILS_H_ 5 #ifndef V8_PROPERTY_DETAILS_H_
6 #define V8_PROPERTY_DETAILS_H_ 6 #define V8_PROPERTY_DETAILS_H_
7 7
8 #include "include/v8.h" 8 #include "include/v8.h"
9 #include "src/allocation.h" 9 #include "src/allocation.h"
10 #include "src/utils.h" 10 #include "src/utils.h"
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 STATIC_ASSERT(DictionaryStorageField::kNext <= 31); 368 STATIC_ASSERT(DictionaryStorageField::kNext <= 31);
369 STATIC_ASSERT(FieldIndexField::kNext <= 31); 369 STATIC_ASSERT(FieldIndexField::kNext <= 31);
370 370
371 static const int kInitialIndex = 1; 371 static const int kInitialIndex = 1;
372 372
373 #ifdef OBJECT_PRINT 373 #ifdef OBJECT_PRINT
374 // For our gdb macros, we should perhaps change these in the future. 374 // For our gdb macros, we should perhaps change these in the future.
375 void Print(bool dictionary_mode); 375 void Print(bool dictionary_mode);
376 #endif 376 #endif
377 377
378 enum PrintMode {
379 kPrintAttributes = 1 << 0,
380 kPrintFieldIndex = 1 << 1,
381 kPrintRepresentation = 1 << 2,
382 kPrintPointer = 1 << 3,
383
384 kForProperties = kPrintFieldIndex,
385 kForTransitions = kPrintAttributes,
386 kPrintFull = -1,
387 };
388 void PrintAsSlowTo(std::ostream& out);
389 void PrintAsFastTo(std::ostream& out, PrintMode mode = kPrintFull);
390
378 private: 391 private:
379 PropertyDetails(int value, int pointer) { 392 PropertyDetails(int value, int pointer) {
380 value_ = DescriptorPointer::update(value, pointer); 393 value_ = DescriptorPointer::update(value, pointer);
381 } 394 }
382 PropertyDetails(int value, Representation representation) { 395 PropertyDetails(int value, Representation representation) {
383 value_ = RepresentationField::update( 396 value_ = RepresentationField::update(
384 value, EncodeRepresentation(representation)); 397 value, EncodeRepresentation(representation));
385 } 398 }
386 PropertyDetails(int value, PropertyAttributes attributes) { 399 PropertyDetails(int value, PropertyAttributes attributes) {
387 value_ = AttributesField::update(value, attributes); 400 value_ = AttributesField::update(value, attributes);
388 } 401 }
389 402
390 uint32_t value_; 403 uint32_t value_;
391 }; 404 };
392 405
393 406
394 std::ostream& operator<<(std::ostream& os, 407 std::ostream& operator<<(std::ostream& os,
395 const PropertyAttributes& attributes); 408 const PropertyAttributes& attributes);
396 std::ostream& operator<<(std::ostream& os, const PropertyDetails& details);
397 } // namespace internal 409 } // namespace internal
398 } // namespace v8 410 } // namespace v8
399 411
400 #endif // V8_PROPERTY_DETAILS_H_ 412 #endif // V8_PROPERTY_DETAILS_H_
OLDNEW
« src/property.cc ('K') | « src/property.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698