| Index: src/objects.h | 
| diff --git a/src/objects.h b/src/objects.h | 
| index 4ea4cceca50d302a59f010c924a2f590698e1478..582038cca64ea6cd8e8ae83ced0b43ec80968d0a 100644 | 
| --- a/src/objects.h | 
| +++ b/src/objects.h | 
| @@ -1399,6 +1399,13 @@ class MapWord BASE_EMBEDDED { | 
| }; | 
|  | 
|  | 
| +// The content of an heap object (except for the map pointer). kTaggedValues | 
| +// objects can contain both heap pointers and Smis, kMixedValues can contain | 
| +// heap pointers, Smis, and raw values (e.g. doubles or strings), and kRawValues | 
| +// objects can contain raw values and Smis. | 
| +enum class HeapObjectContents { kTaggedValues, kMixedValues, kRawValues }; | 
| + | 
| + | 
| // HeapObject is the superclass for all classes describing heap allocated | 
| // objects. | 
| class HeapObject: public Object { | 
| @@ -1450,9 +1457,8 @@ class HeapObject: public Object { | 
| // Returns the heap object's size in bytes | 
| inline int Size(); | 
|  | 
| -  // Returns true if this heap object may contain raw values, i.e., values that | 
| -  // look like pointers to heap objects. | 
| -  inline bool MayContainRawValues(); | 
| +  // Indicates what type of values this heap object may contain. | 
| +  inline HeapObjectContents ContentType(); | 
|  | 
| // Given a heap object's map pointer, returns the heap size in bytes | 
| // Useful when the map pointer field is used for other purposes. | 
|  |