Index: src/objects-inl.h |
=================================================================== |
--- src/objects-inl.h (revision 2708) |
+++ src/objects-inl.h (working copy) |
@@ -91,10 +91,16 @@ |
} |
-#define BOOL_ACCESSORS(holder, field, name, offset) \ |
+#define BOOL_GETTER(holder, field, name, offset) \ |
bool holder::name() { \ |
return BooleanBit::get(field(), offset); \ |
} \ |
+ |
+ |
+#define BOOL_ACCESSORS(holder, field, name, offset) \ |
+ bool holder::name() { \ |
+ return BooleanBit::get(field(), offset); \ |
+ } \ |
void holder::set_##name(bool value) { \ |
set_##field(BooleanBit::set(field(), offset, value)); \ |
} |
@@ -1937,6 +1943,11 @@ |
} |
+int Map::pre_allocated_property_fields() { |
+ return READ_BYTE_FIELD(this, kPreAllocatedPropertyFieldsOffset); |
+} |
+ |
+ |
int HeapObject::SizeFromMap(Map* map) { |
InstanceType instance_type = map->instance_type(); |
// Only inline the most frequent cases. |
@@ -1969,6 +1980,14 @@ |
} |
+void Map::set_pre_allocated_property_fields(int value) { |
+ ASSERT(0 <= value && value < 256); |
+ WRITE_BYTE_FIELD(this, |
+ kPreAllocatedPropertyFieldsOffset, |
+ static_cast<byte>(value)); |
+} |
+ |
+ |
InstanceType Map::instance_type() { |
return static_cast<InstanceType>(READ_BYTE_FIELD(this, kInstanceTypeOffset)); |
} |
@@ -2298,6 +2317,8 @@ |
ACCESSORS(SharedFunctionInfo, script, Object, kScriptOffset) |
ACCESSORS(SharedFunctionInfo, debug_info, Object, kDebugInfoOffset) |
ACCESSORS(SharedFunctionInfo, inferred_name, String, kInferredNameOffset) |
+ACCESSORS(SharedFunctionInfo, this_property_assignments, Object, |
+ kThisPropertyAssignmentsOffset) |
BOOL_ACCESSORS(FunctionTemplateInfo, flag, hidden_prototype, |
kHiddenPrototypeBit) |
@@ -2308,7 +2329,14 @@ |
kIsExpressionBit) |
BOOL_ACCESSORS(SharedFunctionInfo, start_position_and_type, is_toplevel, |
kIsTopLevelBit) |
+BOOL_GETTER(SharedFunctionInfo, compiler_hints, |
+ has_only_this_property_assignments, |
+ kHasOnlyThisPropertyAssignments) |
+BOOL_GETTER(SharedFunctionInfo, compiler_hints, |
+ has_only_simple_this_property_assignments, |
+ kHasOnlySimpleThisPropertyAssignments) |
+ |
INT_ACCESSORS(SharedFunctionInfo, length, kLengthOffset) |
INT_ACCESSORS(SharedFunctionInfo, formal_parameter_count, |
kFormalParameterCountOffset) |
@@ -2319,6 +2347,10 @@ |
INT_ACCESSORS(SharedFunctionInfo, end_position, kEndPositionOffset) |
INT_ACCESSORS(SharedFunctionInfo, function_token_position, |
kFunctionTokenPositionOffset) |
+INT_ACCESSORS(SharedFunctionInfo, compiler_hints, |
+ kCompilerHintsOffset) |
+INT_ACCESSORS(SharedFunctionInfo, this_property_assignments_count, |
+ kThisPropertyAssignmentsCountOffset) |
void SharedFunctionInfo::DontAdaptArguments() { |