| OLD | NEW | 
|     1 // Copyright 2011 the V8 project authors. All rights reserved. |     1 // Copyright 2011 the V8 project authors. All rights reserved. | 
|     2 // Redistribution and use in source and binary forms, with or without |     2 // Redistribution and use in source and binary forms, with or without | 
|     3 // modification, are permitted provided that the following conditions are |     3 // modification, are permitted provided that the following conditions are | 
|     4 // met: |     4 // met: | 
|     5 // |     5 // | 
|     6 //     * Redistributions of source code must retain the above copyright |     6 //     * Redistributions of source code must retain the above copyright | 
|     7 //       notice, this list of conditions and the following disclaimer. |     7 //       notice, this list of conditions and the following disclaimer. | 
|     8 //     * Redistributions in binary form must reproduce the above |     8 //     * Redistributions in binary form must reproduce the above | 
|     9 //       copyright notice, this list of conditions and the following |     9 //       copyright notice, this list of conditions and the following | 
|    10 //       disclaimer in the documentation and/or other materials provided |    10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 1279 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1290  |  1290  | 
|  1291 ACCESSORS(JSObject, properties, FixedArray, kPropertiesOffset) |  1291 ACCESSORS(JSObject, properties, FixedArray, kPropertiesOffset) | 
|  1292  |  1292  | 
|  1293  |  1293  | 
|  1294 FixedArrayBase* JSObject::elements() { |  1294 FixedArrayBase* JSObject::elements() { | 
|  1295   Object* array = READ_FIELD(this, kElementsOffset); |  1295   Object* array = READ_FIELD(this, kElementsOffset); | 
|  1296   ASSERT(array->HasValidElements()); |  1296   ASSERT(array->HasValidElements()); | 
|  1297   return static_cast<FixedArrayBase*>(array); |  1297   return static_cast<FixedArrayBase*>(array); | 
|  1298 } |  1298 } | 
|  1299  |  1299  | 
 |  1300 void JSObject::ValidateSmiOnlyElements() { | 
 |  1301 #if DEBUG | 
 |  1302   if (FLAG_smi_only_arrays && | 
 |  1303       map()->elements_kind() == FAST_SMI_ONLY_ELEMENTS) { | 
 |  1304     Heap* heap = GetHeap(); | 
 |  1305     // Don't use elements, since integrity checks will fail if there | 
 |  1306     // are filler pointers in the array. | 
 |  1307     FixedArray* fixed_array = | 
 |  1308         reinterpret_cast<FixedArray*>(READ_FIELD(this, kElementsOffset)); | 
 |  1309     Map* map = fixed_array->map(); | 
 |  1310     // Arrays that have been shifted in place can't be verified. | 
 |  1311     if (map != heap->raw_unchecked_one_pointer_filler_map() && | 
 |  1312         map != heap->raw_unchecked_two_pointer_filler_map() && | 
 |  1313         map != heap->free_space_map()) { | 
 |  1314       for (int i = 0; i < fixed_array->length(); i++) { | 
 |  1315         Object* current = fixed_array->get(i); | 
 |  1316         ASSERT(current->IsSmi() || current == heap->the_hole_value()); | 
 |  1317       } | 
 |  1318     } | 
 |  1319   } | 
 |  1320 #endif | 
 |  1321 } | 
 |  1322  | 
 |  1323  | 
 |  1324 MaybeObject* JSObject::EnsureCanContainNonSmiElements() { | 
 |  1325 #if DEBUG | 
 |  1326   ValidateSmiOnlyElements(); | 
 |  1327 #endif | 
 |  1328   if (FLAG_smi_only_arrays && | 
 |  1329       (map()->elements_kind() == FAST_SMI_ONLY_ELEMENTS)) { | 
 |  1330     Object* obj; | 
 |  1331     MaybeObject* maybe_obj = GetElementsTransitionMap(FAST_ELEMENTS); | 
 |  1332     if (!maybe_obj->ToObject(&obj)) return maybe_obj; | 
 |  1333     set_map(Map::cast(obj)); | 
 |  1334   } | 
 |  1335   return this; | 
 |  1336 } | 
 |  1337  | 
 |  1338  | 
 |  1339 MaybeObject* JSObject::EnsureCanContainElements(Object** objects, | 
 |  1340                                                 uint32_t count) { | 
 |  1341   if (FLAG_smi_only_arrays && | 
 |  1342       map()->elements_kind() == FAST_SMI_ONLY_ELEMENTS) { | 
 |  1343     for (uint32_t i = 0; i < count; ++i) { | 
 |  1344       Object* current = *objects++; | 
 |  1345       if (!current->IsSmi() && current != GetHeap()->the_hole_value()) { | 
 |  1346         return EnsureCanContainNonSmiElements(); | 
 |  1347       } | 
 |  1348     } | 
 |  1349   } | 
 |  1350   return this; | 
 |  1351 } | 
 |  1352  | 
 |  1353  | 
 |  1354 MaybeObject* JSObject::EnsureCanContainElements(FixedArray* elements) { | 
 |  1355   if (FLAG_smi_only_arrays) { | 
 |  1356     Object** objects = reinterpret_cast<Object**>( | 
 |  1357         FIELD_ADDR(elements, elements->OffsetOfElementAt(0))); | 
 |  1358     return EnsureCanContainElements(objects, elements->length()); | 
 |  1359   } else { | 
 |  1360     return this; | 
 |  1361   } | 
 |  1362 } | 
 |  1363  | 
|  1300  |  1364  | 
|  1301 void JSObject::set_elements(FixedArrayBase* value, WriteBarrierMode mode) { |  1365 void JSObject::set_elements(FixedArrayBase* value, WriteBarrierMode mode) { | 
|  1302   ASSERT(map()->has_fast_elements() == |  1366   ASSERT((map()->has_fast_elements() || | 
 |  1367           map()->has_fast_smi_only_elements()) == | 
|  1303          (value->map() == GetHeap()->fixed_array_map() || |  1368          (value->map() == GetHeap()->fixed_array_map() || | 
|  1304           value->map() == GetHeap()->fixed_cow_array_map())); |  1369           value->map() == GetHeap()->fixed_cow_array_map())); | 
|  1305   ASSERT(map()->has_fast_double_elements() == |  1370   ASSERT(map()->has_fast_double_elements() == | 
|  1306          value->IsFixedDoubleArray()); |  1371          value->IsFixedDoubleArray()); | 
|  1307   ASSERT(value->HasValidElements()); |  1372   ASSERT(value->HasValidElements()); | 
 |  1373 #ifdef DEBUG | 
 |  1374   ValidateSmiOnlyElements(); | 
 |  1375 #endif | 
|  1308   WRITE_FIELD(this, kElementsOffset, value); |  1376   WRITE_FIELD(this, kElementsOffset, value); | 
|  1309   CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kElementsOffset, value, mode); |  1377   CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kElementsOffset, value, mode); | 
|  1310 } |  1378 } | 
|  1311  |  1379  | 
|  1312  |  1380  | 
|  1313 void JSObject::initialize_properties() { |  1381 void JSObject::initialize_properties() { | 
|  1314   ASSERT(!GetHeap()->InNewSpace(GetHeap()->empty_fixed_array())); |  1382   ASSERT(!GetHeap()->InNewSpace(GetHeap()->empty_fixed_array())); | 
|  1315   WRITE_FIELD(this, kPropertiesOffset, GetHeap()->empty_fixed_array()); |  1383   WRITE_FIELD(this, kPropertiesOffset, GetHeap()->empty_fixed_array()); | 
|  1316 } |  1384 } | 
|  1317  |  1385  | 
|  1318  |  1386  | 
|  1319 void JSObject::initialize_elements() { |  1387 void JSObject::initialize_elements() { | 
|  1320   ASSERT(map()->has_fast_elements()); |  1388   ASSERT(map()->has_fast_elements() || map()->has_fast_smi_only_elements()); | 
|  1321   ASSERT(!GetHeap()->InNewSpace(GetHeap()->empty_fixed_array())); |  1389   ASSERT(!GetHeap()->InNewSpace(GetHeap()->empty_fixed_array())); | 
|  1322   WRITE_FIELD(this, kElementsOffset, GetHeap()->empty_fixed_array()); |  1390   WRITE_FIELD(this, kElementsOffset, GetHeap()->empty_fixed_array()); | 
|  1323 } |  1391 } | 
|  1324  |  1392  | 
|  1325  |  1393  | 
|  1326 MaybeObject* JSObject::ResetElements() { |  1394 MaybeObject* JSObject::ResetElements() { | 
|  1327   Object* obj; |  1395   Object* obj; | 
|  1328   { MaybeObject* maybe_obj = GetElementsTransitionMap(FAST_ELEMENTS); |  1396   ElementsKind elements_kind = FLAG_smi_only_arrays | 
|  1329     if (!maybe_obj->ToObject(&obj)) return maybe_obj; |  1397       ? FAST_SMI_ONLY_ELEMENTS | 
|  1330   } |  1398       : FAST_ELEMENTS; | 
 |  1399   MaybeObject* maybe_obj = GetElementsTransitionMap(elements_kind); | 
 |  1400   if (!maybe_obj->ToObject(&obj)) return maybe_obj; | 
|  1331   set_map(Map::cast(obj)); |  1401   set_map(Map::cast(obj)); | 
|  1332   initialize_elements(); |  1402   initialize_elements(); | 
|  1333   return this; |  1403   return this; | 
|  1334 } |  1404 } | 
|  1335  |  1405  | 
|  1336  |  1406  | 
|  1337 ACCESSORS(Oddball, to_string, String, kToStringOffset) |  1407 ACCESSORS(Oddball, to_string, String, kToStringOffset) | 
|  1338 ACCESSORS(Oddball, to_number, Object, kToNumberOffset) |  1408 ACCESSORS(Oddball, to_number, Object, kToNumberOffset) | 
|  1339  |  1409  | 
|  1340  |  1410  | 
| (...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1676   int offset = kHeaderSize + old_length * kDoubleSize; |  1746   int offset = kHeaderSize + old_length * kDoubleSize; | 
|  1677   for (int current = from->length(); current < length(); ++current) { |  1747   for (int current = from->length(); current < length(); ++current) { | 
|  1678     WRITE_DOUBLE_FIELD(this, offset, hole_nan_as_double()); |  1748     WRITE_DOUBLE_FIELD(this, offset, hole_nan_as_double()); | 
|  1679     offset += kDoubleSize; |  1749     offset += kDoubleSize; | 
|  1680   } |  1750   } | 
|  1681 } |  1751 } | 
|  1682  |  1752  | 
|  1683  |  1753  | 
|  1684 void FixedDoubleArray::Initialize(FixedArray* from) { |  1754 void FixedDoubleArray::Initialize(FixedArray* from) { | 
|  1685   int old_length = from->length(); |  1755   int old_length = from->length(); | 
|  1686   ASSERT(old_length < length()); |  1756   ASSERT(old_length <= length()); | 
|  1687   for (int i = 0; i < old_length; i++) { |  1757   for (int i = 0; i < old_length; i++) { | 
|  1688     Object* hole_or_object = from->get(i); |  1758     Object* hole_or_object = from->get(i); | 
|  1689     if (hole_or_object->IsTheHole()) { |  1759     if (hole_or_object->IsTheHole()) { | 
|  1690       set_the_hole(i); |  1760       set_the_hole(i); | 
|  1691     } else { |  1761     } else { | 
|  1692       set(i, hole_or_object->Number()); |  1762       set(i, hole_or_object->Number()); | 
|  1693     } |  1763     } | 
|  1694   } |  1764   } | 
|  1695   int offset = kHeaderSize + old_length * kDoubleSize; |  1765   int offset = kHeaderSize + old_length * kDoubleSize; | 
|  1696   for (int current = from->length(); current < length(); ++current) { |  1766   for (int current = from->length(); current < length(); ++current) { | 
| (...skipping 2248 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3945     fa->set_unchecked(index, Smi::cast(value)); |  4015     fa->set_unchecked(index, Smi::cast(value)); | 
|  3946   } else { |  4016   } else { | 
|  3947     // We only do this during GC, so we don't need to notify the write barrier. |  4017     // We only do this during GC, so we don't need to notify the write barrier. | 
|  3948     fa->set_unchecked(heap, index, value, SKIP_WRITE_BARRIER); |  4018     fa->set_unchecked(heap, index, value, SKIP_WRITE_BARRIER); | 
|  3949   } |  4019   } | 
|  3950 } |  4020 } | 
|  3951  |  4021  | 
|  3952  |  4022  | 
|  3953 ElementsKind JSObject::GetElementsKind() { |  4023 ElementsKind JSObject::GetElementsKind() { | 
|  3954   ElementsKind kind = map()->elements_kind(); |  4024   ElementsKind kind = map()->elements_kind(); | 
|  3955   ASSERT((kind == FAST_ELEMENTS && |  4025 #if DEBUG | 
|  3956           (elements()->map() == GetHeap()->fixed_array_map() || |  4026   FixedArrayBase* fixed_array = | 
|  3957            elements()->map() == GetHeap()->fixed_cow_array_map())) || |  4027       reinterpret_cast<FixedArrayBase*>(READ_FIELD(this, kElementsOffset)); | 
 |  4028   Map* map = fixed_array->map(); | 
 |  4029     ASSERT(((kind == FAST_ELEMENTS || kind == FAST_SMI_ONLY_ELEMENTS) && | 
 |  4030           (map == GetHeap()->fixed_array_map() || | 
 |  4031            map == GetHeap()->fixed_cow_array_map())) || | 
|  3958          (kind == FAST_DOUBLE_ELEMENTS && |  4032          (kind == FAST_DOUBLE_ELEMENTS && | 
|  3959           elements()->IsFixedDoubleArray()) || |  4033           fixed_array->IsFixedDoubleArray()) || | 
|  3960          (kind == DICTIONARY_ELEMENTS && |  4034          (kind == DICTIONARY_ELEMENTS && | 
|  3961           elements()->IsFixedArray() && |  4035           fixed_array->IsFixedArray() && | 
|  3962           elements()->IsDictionary()) || |  4036           fixed_array->IsDictionary()) || | 
|  3963          (kind > DICTIONARY_ELEMENTS)); |  4037          (kind > DICTIONARY_ELEMENTS)); | 
 |  4038 #endif | 
|  3964   return kind; |  4039   return kind; | 
|  3965 } |  4040 } | 
|  3966  |  4041  | 
|  3967  |  4042  | 
|  3968 ElementsAccessor* JSObject::GetElementsAccessor() { |  4043 ElementsAccessor* JSObject::GetElementsAccessor() { | 
|  3969   return ElementsAccessor::ForKind(GetElementsKind()); |  4044   return ElementsAccessor::ForKind(GetElementsKind()); | 
|  3970 } |  4045 } | 
|  3971  |  4046  | 
|  3972  |  4047  | 
|  3973 bool JSObject::HasFastElements() { |  4048 bool JSObject::HasFastElements() { | 
|  3974   return GetElementsKind() == FAST_ELEMENTS; |  4049   return GetElementsKind() == FAST_ELEMENTS; | 
|  3975 } |  4050 } | 
|  3976  |  4051  | 
|  3977  |  4052  | 
 |  4053 bool JSObject::HasFastSmiOnlyElements() { | 
 |  4054   return GetElementsKind() == FAST_SMI_ONLY_ELEMENTS; | 
 |  4055 } | 
 |  4056  | 
 |  4057  | 
 |  4058 bool JSObject::HasFastTypeElements() { | 
 |  4059   ElementsKind elements_kind = GetElementsKind(); | 
 |  4060   return elements_kind == FAST_SMI_ONLY_ELEMENTS || | 
 |  4061       elements_kind == FAST_ELEMENTS; | 
 |  4062 } | 
 |  4063  | 
 |  4064  | 
|  3978 bool JSObject::HasFastDoubleElements() { |  4065 bool JSObject::HasFastDoubleElements() { | 
|  3979   return GetElementsKind() == FAST_DOUBLE_ELEMENTS; |  4066   return GetElementsKind() == FAST_DOUBLE_ELEMENTS; | 
|  3980 } |  4067 } | 
|  3981  |  4068  | 
|  3982  |  4069  | 
|  3983 bool JSObject::HasDictionaryElements() { |  4070 bool JSObject::HasDictionaryElements() { | 
|  3984   return GetElementsKind() == DICTIONARY_ELEMENTS; |  4071   return GetElementsKind() == DICTIONARY_ELEMENTS; | 
|  3985 } |  4072 } | 
|  3986  |  4073  | 
|  3987  |  4074  | 
 |  4075 bool JSObject::HasNonStrictArgumentsElements() { | 
 |  4076   return GetElementsKind() == NON_STRICT_ARGUMENTS_ELEMENTS; | 
 |  4077 } | 
 |  4078  | 
 |  4079  | 
|  3988 bool JSObject::HasExternalArrayElements() { |  4080 bool JSObject::HasExternalArrayElements() { | 
|  3989   HeapObject* array = elements(); |  4081   HeapObject* array = elements(); | 
|  3990   ASSERT(array != NULL); |  4082   ASSERT(array != NULL); | 
|  3991   return array->IsExternalArray(); |  4083   return array->IsExternalArray(); | 
|  3992 } |  4084 } | 
|  3993  |  4085  | 
|  3994  |  4086  | 
|  3995 #define EXTERNAL_ELEMENTS_CHECK(name, type)          \ |  4087 #define EXTERNAL_ELEMENTS_CHECK(name, type)          \ | 
|  3996 bool JSObject::HasExternal##name##Elements() {       \ |  4088 bool JSObject::HasExternal##name##Elements() {       \ | 
|  3997   HeapObject* array = elements();                    \ |  4089   HeapObject* array = elements();                    \ | 
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  4029  |  4121  | 
|  4030 bool JSObject::AllowsSetElementsLength() { |  4122 bool JSObject::AllowsSetElementsLength() { | 
|  4031   bool result = elements()->IsFixedArray() || |  4123   bool result = elements()->IsFixedArray() || | 
|  4032       elements()->IsFixedDoubleArray(); |  4124       elements()->IsFixedDoubleArray(); | 
|  4033   ASSERT(result == !HasExternalArrayElements()); |  4125   ASSERT(result == !HasExternalArrayElements()); | 
|  4034   return result; |  4126   return result; | 
|  4035 } |  4127 } | 
|  4036  |  4128  | 
|  4037  |  4129  | 
|  4038 MaybeObject* JSObject::EnsureWritableFastElements() { |  4130 MaybeObject* JSObject::EnsureWritableFastElements() { | 
|  4039   ASSERT(HasFastElements()); |  4131   ASSERT(HasFastTypeElements()); | 
|  4040   FixedArray* elems = FixedArray::cast(elements()); |  4132   FixedArray* elems = FixedArray::cast(elements()); | 
|  4041   Isolate* isolate = GetIsolate(); |  4133   Isolate* isolate = GetIsolate(); | 
|  4042   if (elems->map() != isolate->heap()->fixed_cow_array_map()) return elems; |  4134   if (elems->map() != isolate->heap()->fixed_cow_array_map()) return elems; | 
|  4043   Object* writable_elems; |  4135   Object* writable_elems; | 
|  4044   { MaybeObject* maybe_writable_elems = isolate->heap()->CopyFixedArrayWithMap( |  4136   { MaybeObject* maybe_writable_elems = isolate->heap()->CopyFixedArrayWithMap( | 
|  4045       elems, isolate->heap()->fixed_array_map()); |  4137       elems, isolate->heap()->fixed_array_map()); | 
|  4046     if (!maybe_writable_elems->ToObject(&writable_elems)) { |  4138     if (!maybe_writable_elems->ToObject(&writable_elems)) { | 
|  4047       return maybe_writable_elems; |  4139       return maybe_writable_elems; | 
|  4048     } |  4140     } | 
|  4049   } |  4141   } | 
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  4394 void Map::ClearCodeCache(Heap* heap) { |  4486 void Map::ClearCodeCache(Heap* heap) { | 
|  4395   // No write barrier is needed since empty_fixed_array is not in new space. |  4487   // No write barrier is needed since empty_fixed_array is not in new space. | 
|  4396   // Please note this function is used during marking: |  4488   // Please note this function is used during marking: | 
|  4397   //  - MarkCompactCollector::MarkUnmarkedObject |  4489   //  - MarkCompactCollector::MarkUnmarkedObject | 
|  4398   ASSERT(!heap->InNewSpace(heap->raw_unchecked_empty_fixed_array())); |  4490   ASSERT(!heap->InNewSpace(heap->raw_unchecked_empty_fixed_array())); | 
|  4399   WRITE_FIELD(this, kCodeCacheOffset, heap->raw_unchecked_empty_fixed_array()); |  4491   WRITE_FIELD(this, kCodeCacheOffset, heap->raw_unchecked_empty_fixed_array()); | 
|  4400 } |  4492 } | 
|  4401  |  4493  | 
|  4402  |  4494  | 
|  4403 void JSArray::EnsureSize(int required_size) { |  4495 void JSArray::EnsureSize(int required_size) { | 
|  4404   ASSERT(HasFastElements()); |  4496   ASSERT(HasFastTypeElements()); | 
|  4405   FixedArray* elts = FixedArray::cast(elements()); |  4497   FixedArray* elts = FixedArray::cast(elements()); | 
|  4406   const int kArraySizeThatFitsComfortablyInNewSpace = 128; |  4498   const int kArraySizeThatFitsComfortablyInNewSpace = 128; | 
|  4407   if (elts->length() < required_size) { |  4499   if (elts->length() < required_size) { | 
|  4408     // Doubling in size would be overkill, but leave some slack to avoid |  4500     // Doubling in size would be overkill, but leave some slack to avoid | 
|  4409     // constantly growing. |  4501     // constantly growing. | 
|  4410     Expand(required_size + (required_size >> 3)); |  4502     Expand(required_size + (required_size >> 3)); | 
|  4411     // It's a performance benefit to keep a frequently used array in new-space. |  4503     // It's a performance benefit to keep a frequently used array in new-space. | 
|  4412   } else if (!GetHeap()->new_space()->Contains(elts) && |  4504   } else if (!GetHeap()->new_space()->Contains(elts) && | 
|  4413              required_size < kArraySizeThatFitsComfortablyInNewSpace) { |  4505              required_size < kArraySizeThatFitsComfortablyInNewSpace) { | 
|  4414     // Expand will allocate a new backing store in new space even if the size |  4506     // Expand will allocate a new backing store in new space even if the size | 
|  4415     // we asked for isn't larger than what we had before. |  4507     // we asked for isn't larger than what we had before. | 
|  4416     Expand(required_size); |  4508     Expand(required_size); | 
|  4417   } |  4509   } | 
|  4418 } |  4510 } | 
|  4419  |  4511  | 
|  4420  |  4512  | 
|  4421 void JSArray::set_length(Smi* length) { |  4513 void JSArray::set_length(Smi* length) { | 
|  4422   // Don't need a write barrier for a Smi. |  4514   // Don't need a write barrier for a Smi. | 
|  4423   set_length(static_cast<Object*>(length), SKIP_WRITE_BARRIER); |  4515   set_length(static_cast<Object*>(length), SKIP_WRITE_BARRIER); | 
|  4424 } |  4516 } | 
|  4425  |  4517  | 
|  4426  |  4518  | 
|  4427 void JSArray::SetContent(FixedArray* storage) { |  4519 MaybeObject* JSArray::SetContent(FixedArray* storage) { | 
 |  4520   MaybeObject* maybe_object = EnsureCanContainElements(storage); | 
 |  4521   if (maybe_object->IsFailure()) return maybe_object; | 
|  4428   set_length(Smi::FromInt(storage->length())); |  4522   set_length(Smi::FromInt(storage->length())); | 
|  4429   set_elements(storage); |  4523   set_elements(storage); | 
 |  4524   return this; | 
|  4430 } |  4525 } | 
|  4431  |  4526  | 
|  4432  |  4527  | 
|  4433 MaybeObject* FixedArray::Copy() { |  4528 MaybeObject* FixedArray::Copy() { | 
|  4434   if (length() == 0) return this; |  4529   if (length() == 0) return this; | 
|  4435   return GetHeap()->CopyFixedArray(this); |  4530   return GetHeap()->CopyFixedArray(this); | 
|  4436 } |  4531 } | 
|  4437  |  4532  | 
|  4438  |  4533  | 
|  4439 Relocatable::Relocatable(Isolate* isolate) { |  4534 Relocatable::Relocatable(Isolate* isolate) { | 
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  4536 #undef WRITE_INT_FIELD |  4631 #undef WRITE_INT_FIELD | 
|  4537 #undef READ_SHORT_FIELD |  4632 #undef READ_SHORT_FIELD | 
|  4538 #undef WRITE_SHORT_FIELD |  4633 #undef WRITE_SHORT_FIELD | 
|  4539 #undef READ_BYTE_FIELD |  4634 #undef READ_BYTE_FIELD | 
|  4540 #undef WRITE_BYTE_FIELD |  4635 #undef WRITE_BYTE_FIELD | 
|  4541  |  4636  | 
|  4542  |  4637  | 
|  4543 } }  // namespace v8::internal |  4638 } }  // namespace v8::internal | 
|  4544  |  4639  | 
|  4545 #endif  // V8_OBJECTS_INL_H_ |  4640 #endif  // V8_OBJECTS_INL_H_ | 
| OLD | NEW |