Chromium Code Reviews| Index: src/objects.h |
| =================================================================== |
| --- src/objects.h (revision 4205) |
| +++ src/objects.h (working copy) |
| @@ -1094,6 +1094,9 @@ |
| void HeapNumberVerify(); |
| #endif |
| + inline int get_exponent(); |
| + inline int get_sign(); |
| + |
| // Layout description. |
| static const int kValueOffset = HeapObject::kHeaderSize; |
| // IEEE doubles are two 32 bit words. The first is just mantissa, the second |
| @@ -2138,24 +2141,24 @@ |
| // Returns the value at entry. |
| Object* ValueAt(int entry) { |
| - return get(HashTable<Shape, Key>::EntryToIndex(entry)+1); |
| + return this->get(HashTable<Shape, Key>::EntryToIndex(entry)+1); |
| } |
| // Set the value for entry. |
| void ValueAtPut(int entry, Object* value) { |
| - set(HashTable<Shape, Key>::EntryToIndex(entry)+1, value); |
| + this->set(HashTable<Shape, Key>::EntryToIndex(entry)+1, value); |
| } |
| // Returns the property details for the property at entry. |
| PropertyDetails DetailsAt(int entry) { |
| ASSERT(entry >= 0); // Not found is -1, which is not caught by get(). |
| return PropertyDetails( |
| - Smi::cast(get(HashTable<Shape, Key>::EntryToIndex(entry) + 2))); |
| + Smi::cast(this->get(HashTable<Shape, Key>::EntryToIndex(entry) + 2))); |
| } |
| // Set the details for entry. |
| void DetailsAtPut(int entry, PropertyDetails value) { |
| - set(HashTable<Shape, Key>::EntryToIndex(entry) + 2, value.AsSmi()); |
| + this->set(HashTable<Shape, Key>::EntryToIndex(entry) + 2, value.AsSmi()); |
| } |
| // Sorting support |
| @@ -2178,7 +2181,7 @@ |
| // Accessors for next enumeration index. |
| void SetNextEnumerationIndex(int index) { |
| - fast_set(this, kNextEnumerationIndexIndex, Smi::FromInt(index)); |
| + this->fast_set(this, kNextEnumerationIndexIndex, Smi::FromInt(index)); |
| } |
| int NextEnumerationIndex() { |
| @@ -3155,12 +3158,18 @@ |
| // [instance class name]: class name for instances. |
| DECL_ACCESSORS(instance_class_name, Object) |
| - // [function data]: This field has been added for make benefit the API. |
| + // [function data]: This field holds some additional data for function. |
| + // Currently it either has FunctionTemplateInfo to make benefit the API |
|
Erik Corry
2010/03/23 10:12:44
Somehow, attempting to fix the Borat quotes isn't
|
| + // or Proxy wrapping CustomCallGenerator. |
| // In the long run we don't want all functions to have this field but |
| // we can fix that when we have a better model for storing hidden data |
| // on objects. |
| DECL_ACCESSORS(function_data, Object) |
| + inline bool IsApiFunction(); |
| + inline FunctionTemplateInfo* get_api_func_data(); |
| + inline bool HasCustomCallGenerator(); |
| + |
| // [script info]: Script from which the function originates. |
| DECL_ACCESSORS(script, Object) |
| @@ -3268,9 +3277,9 @@ |
| static const int kConstructStubOffset = kCodeOffset + kPointerSize; |
| static const int kInstanceClassNameOffset = |
| kConstructStubOffset + kPointerSize; |
| - static const int kExternalReferenceDataOffset = |
| + static const int kFunctionDataOffset = |
| kInstanceClassNameOffset + kPointerSize; |
| - static const int kScriptOffset = kExternalReferenceDataOffset + kPointerSize; |
| + static const int kScriptOffset = kFunctionDataOffset + kPointerSize; |
| static const int kDebugInfoOffset = kScriptOffset + kPointerSize; |
| static const int kInferredNameOffset = kDebugInfoOffset + kPointerSize; |
| static const int kThisPropertyAssignmentsOffset = |