| Index: src/objects-inl.h
|
| ===================================================================
|
| --- src/objects-inl.h (revision 5500)
|
| +++ src/objects-inl.h (working copy)
|
| @@ -1343,8 +1343,8 @@
|
|
|
|
|
|
|
| -void JSObject::InitializeBody(int object_size) {
|
| - Object* value = Heap::undefined_value();
|
| +void JSObject::InitializeBody(int object_size, Object* value) {
|
| + ASSERT(!value->IsHeapObject() || !Heap::InNewSpace(value));
|
| for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) {
|
| WRITE_FIELD(this, offset, value);
|
| }
|
| @@ -2279,7 +2279,24 @@
|
| }
|
|
|
|
|
| +void Map::set_attached_to_shared_function_info(bool value) {
|
| + if (value) {
|
| + set_bit_field2(bit_field2() | (1 << kAttachedToSharedFunctionInfo));
|
| + } else {
|
| + set_bit_field2(bit_field2() & ~(1 << kAttachedToSharedFunctionInfo));
|
| + }
|
| +}
|
|
|
| +bool Map::attached_to_shared_function_info() {
|
| + return ((1 << kAttachedToSharedFunctionInfo) & bit_field2()) != 0;
|
| +}
|
| +
|
| +
|
| +JSFunction* Map::unchecked_constructor() {
|
| + return reinterpret_cast<JSFunction*>(READ_FIELD(this, kConstructorOffset));
|
| +}
|
| +
|
| +
|
| Code::Flags Code::flags() {
|
| return static_cast<Flags>(READ_INT_FIELD(this, kFlagsOffset));
|
| }
|
| @@ -2571,6 +2588,7 @@
|
|
|
| ACCESSORS(SharedFunctionInfo, name, Object, kNameOffset)
|
| ACCESSORS(SharedFunctionInfo, construct_stub, Code, kConstructStubOffset)
|
| +ACCESSORS(SharedFunctionInfo, initial_map, Object, kInitialMapOffset)
|
| ACCESSORS(SharedFunctionInfo, instance_class_name, Object,
|
| kInstanceClassNameOffset)
|
| ACCESSORS(SharedFunctionInfo, function_data, Object, kFunctionDataOffset)
|
| @@ -2662,6 +2680,37 @@
|
| kThisPropertyAssignmentsCountOffset)
|
| #endif
|
|
|
| +
|
| +int SharedFunctionInfo::construction_count() {
|
| + return READ_BYTE_FIELD(this, kConstructionCountOffset);
|
| +}
|
| +
|
| +
|
| +void SharedFunctionInfo::set_construction_count(int value) {
|
| + ASSERT(0 <= value && value < 256);
|
| + WRITE_BYTE_FIELD(this, kConstructionCountOffset, static_cast<byte>(value));
|
| +}
|
| +
|
| +
|
| +bool SharedFunctionInfo::live_objects_may_exist() {
|
| + return (compiler_hints() & (1 << kLiveObjectsMayExist)) != 0;
|
| +}
|
| +
|
| +
|
| +void SharedFunctionInfo::set_live_objects_may_exist(bool value) {
|
| + if (value) {
|
| + set_compiler_hints(compiler_hints() | (1 << kLiveObjectsMayExist));
|
| + } else {
|
| + set_compiler_hints(compiler_hints() & ~(1 << kLiveObjectsMayExist));
|
| + }
|
| +}
|
| +
|
| +
|
| +bool SharedFunctionInfo::IsInobjectSlackTrackingInProgress() {
|
| + return initial_map() != Heap::undefined_value();
|
| +}
|
| +
|
| +
|
| ACCESSORS(CodeCache, default_cache, FixedArray, kDefaultCacheOffset)
|
| ACCESSORS(CodeCache, normal_type_cache, Object, kNormalTypeCacheOffset)
|
|
|
|
|