Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: src/objects-inl.h

Issue 304143002: Add support for extended constant pool arrays. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Review notes: 5 // Review notes:
6 // 6 //
7 // - The use of macros in these inline functions may seem superfluous 7 // - The use of macros in these inline functions may seem superfluous
8 // but it is absolutely needed to make sure gcc generates optimal 8 // but it is absolutely needed to make sure gcc generates optimal
9 // code. gcc is not happy when attempting to inline too deep. 9 // code. gcc is not happy when attempting to inline too deep.
10 // 10 //
(...skipping 2174 matching lines...) Expand 10 before | Expand all | Expand 10 after
2185 } 2185 }
2186 2186
2187 2187
2188 void FixedDoubleArray::FillWithHoles(int from, int to) { 2188 void FixedDoubleArray::FillWithHoles(int from, int to) {
2189 for (int i = from; i < to; i++) { 2189 for (int i = from; i < to; i++) {
2190 set_the_hole(i); 2190 set_the_hole(i);
2191 } 2191 }
2192 } 2192 }
2193 2193
2194 2194
2195 bool ConstantPoolArray::is_extended_layout() {
2196 uint32_t small_layout_1 = READ_UINT32_FIELD(this, kSmallLayout1Offset);
2197 return IsExtendedField::decode(small_layout_1);
2198 }
2199
2200
2201 ConstantPoolArray::LayoutSection ConstantPoolArray::final_section() {
2202 return is_extended_layout() ? EXTENDED_SECTION : SMALL_SECTION;
2203 }
2204
2205
2206 int ConstantPoolArray::first_extended_section_index() {
2207 ASSERT(is_extended_layout());
2208 uint32_t small_layout_2 = READ_UINT32_FIELD(this, kSmallLayout2Offset);
2209 return TotalCountField::decode(small_layout_2);
2210 }
2211
2212
2213 int ConstantPoolArray::get_extended_section_header_offset() {
2214 return RoundUp(SizeFor(number_of_entries(INT64, SMALL_SECTION),
2215 number_of_entries(CODE_PTR, SMALL_SECTION),
2216 number_of_entries(HEAP_PTR, SMALL_SECTION),
2217 number_of_entries(INT32, SMALL_SECTION)),
2218 kInt64Size);
2219 }
2220
2221
2222 ConstantPoolArray::WeakObjectState ConstantPoolArray::get_weak_object_state() {
2223 uint32_t small_layout_2 = READ_UINT32_FIELD(this, kSmallLayout2Offset);
2224 return WeakObjectStateField::decode(small_layout_2);
2225 }
2226
2227
2195 void ConstantPoolArray::set_weak_object_state( 2228 void ConstantPoolArray::set_weak_object_state(
2196 ConstantPoolArray::WeakObjectState state) { 2229 ConstantPoolArray::WeakObjectState state) {
2197 int old_layout_field = READ_INT_FIELD(this, kArrayLayoutOffset); 2230 uint32_t small_layout_2 = READ_UINT32_FIELD(this, kSmallLayout2Offset);
2198 int new_layout_field = WeakObjectStateField::update(old_layout_field, state); 2231 small_layout_2 = WeakObjectStateField::update(small_layout_2, state);
2199 WRITE_INT_FIELD(this, kArrayLayoutOffset, new_layout_field); 2232 WRITE_INT32_FIELD(this, kSmallLayout2Offset, small_layout_2);
2200 } 2233 }
2201 2234
2202 2235
2203 ConstantPoolArray::WeakObjectState ConstantPoolArray::get_weak_object_state() { 2236 int ConstantPoolArray::first_index(Type type, LayoutSection section) {
2204 int layout_field = READ_INT_FIELD(this, kArrayLayoutOffset); 2237 int index = 0;
ulan 2014/06/02 12:32:58 How about iterating over types and sections in thi
rmcilroy 2014/06/03 12:32:28 Done (but only iterating through types).
2205 return WeakObjectStateField::decode(layout_field); 2238 if (section == EXTENDED_SECTION) {
2206 } 2239 ASSERT(is_extended_layout());
2207 2240 index += first_extended_section_index();
2208 2241 }
2209 int ConstantPoolArray::first_int64_index() { 2242
2210 return 0; 2243 switch (type) {
2211 } 2244 case INT32:
2212 2245 index += number_of_entries(HEAP_PTR, section);
2213 2246 // fall through.
2214 int ConstantPoolArray::first_code_ptr_index() { 2247 case HEAP_PTR:
2215 int layout_field = READ_INT_FIELD(this, kArrayLayoutOffset); 2248 index += number_of_entries(CODE_PTR, section);
2216 return first_int64_index() + 2249 // fall through.
2217 NumberOfInt64EntriesField::decode(layout_field); 2250 case CODE_PTR:
2218 } 2251 index += number_of_entries(INT64, section);
2219 2252 // fall through.
2220 2253 case INT64:
2221 int ConstantPoolArray::first_heap_ptr_index() { 2254 break;
2222 int layout_field = READ_INT_FIELD(this, kArrayLayoutOffset); 2255 default:
2223 return first_code_ptr_index() + 2256 UNREACHABLE();
2224 NumberOfCodePtrEntriesField::decode(layout_field); 2257 }
2225 } 2258
2226 2259 return index;
2227 2260 }
2228 int ConstantPoolArray::first_int32_index() { 2261
2229 int layout_field = READ_INT_FIELD(this, kArrayLayoutOffset); 2262
2230 return first_heap_ptr_index() + 2263 int ConstantPoolArray::last_index(Type type, LayoutSection section) {
2231 NumberOfHeapPtrEntriesField::decode(layout_field); 2264 return first_index(type, section) + number_of_entries(type, section) - 1;
2232 } 2265 }
2233 2266
2234 2267
2235 int ConstantPoolArray::count_of_int64_entries() { 2268 int ConstantPoolArray::number_of_entries(Type type, LayoutSection section) {
2236 return first_code_ptr_index(); 2269 if (section == SMALL_SECTION) {
2237 } 2270 uint32_t small_layout_1 = READ_UINT32_FIELD(this, kSmallLayout1Offset);
2238 2271 uint32_t small_layout_2 = READ_UINT32_FIELD(this, kSmallLayout2Offset);
2239 2272 switch (type) {
2240 int ConstantPoolArray::count_of_code_ptr_entries() { 2273 case INT64:
2241 return first_heap_ptr_index() - first_code_ptr_index(); 2274 return Int64CountField::decode(small_layout_1);
2242 } 2275 case CODE_PTR:
2243 2276 return CodePtrCountField::decode(small_layout_1);
2244 2277 case HEAP_PTR:
2245 int ConstantPoolArray::count_of_heap_ptr_entries() { 2278 return HeapPtrCountField::decode(small_layout_1);
2246 return first_int32_index() - first_heap_ptr_index(); 2279 case INT32:
2247 } 2280 return Int32CountField::decode(small_layout_2);
2248 2281 default:
2249 2282 UNREACHABLE();
2250 int ConstantPoolArray::count_of_int32_entries() { 2283 return 0;
2251 return length() - first_int32_index(); 2284 }
2252 } 2285 } else {
2253 2286 ASSERT(section == EXTENDED_SECTION && is_extended_layout());
2254 2287 int offset = get_extended_section_header_offset();
2255 void ConstantPoolArray::Init(int number_of_int64_entries, 2288 switch (type) {
2256 int number_of_code_ptr_entries, 2289 case INT64:
2257 int number_of_heap_ptr_entries, 2290 offset += kExtendedInt64CountOffset;
2258 int number_of_int32_entries) { 2291 break;
2259 set_length(number_of_int64_entries + 2292 case CODE_PTR:
2260 number_of_code_ptr_entries + 2293 offset += kExtendedCodePtrCountOffset;
2261 number_of_heap_ptr_entries + 2294 break;
2262 number_of_int32_entries); 2295 case HEAP_PTR:
2263 int layout_field = 2296 offset += kExtendedHeapPtrCountOffset;
2264 NumberOfInt64EntriesField::encode(number_of_int64_entries) | 2297 break;
2265 NumberOfCodePtrEntriesField::encode(number_of_code_ptr_entries) | 2298 case INT32:
2266 NumberOfHeapPtrEntriesField::encode(number_of_heap_ptr_entries) | 2299 offset += kExtendedInt32CountOffset;
2267 WeakObjectStateField::encode(NO_WEAK_OBJECTS); 2300 break;
2268 WRITE_INT_FIELD(this, kArrayLayoutOffset, layout_field); 2301 default:
2302 UNREACHABLE();
2303 }
2304 return READ_INT_FIELD(this, offset);
2305 }
2306 }
2307
2308
2309 ConstantPoolArray::Type ConstantPoolArray::get_type(int index) {
2310 LayoutSection section;
2311 if (is_extended_layout() && index >= first_extended_section_index()) {
2312 section = EXTENDED_SECTION;
2313 } else {
2314 section = SMALL_SECTION;
2315 }
2316
2317 if (index >= first_index(INT64, section) &&
ulan 2014/06/02 12:32:58 int t = 0; while (last_index(t, section) < index)
rmcilroy 2014/06/03 12:32:28 Done.
2318 index <= last_index(INT64, section)) {
2319 return INT64;
2320 } else if (index >= first_index(CODE_PTR, section) &&
2321 index <= last_index(CODE_PTR, section)) {
2322 return CODE_PTR;
2323 } else if (index >= first_index(HEAP_PTR, section) &&
2324 index <= last_index(HEAP_PTR, section)) {
2325 return HEAP_PTR;
2326 } else {
2327 ASSERT(index >= first_index(INT32, section) &&
2328 index <= last_index(INT32, section));
2329 return INT32;
2330 }
2269 } 2331 }
2270 2332
2271 2333
2272 int64_t ConstantPoolArray::get_int64_entry(int index) { 2334 int64_t ConstantPoolArray::get_int64_entry(int index) {
2273 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2335 ASSERT(map() == GetHeap()->constant_pool_array_map());
2274 ASSERT(index >= 0 && index < first_code_ptr_index()); 2336 ASSERT(get_type(index) == INT64);
2275 return READ_INT64_FIELD(this, OffsetOfElementAt(index)); 2337 return READ_INT64_FIELD(this, OffsetOfElementAt(index));
2276 } 2338 }
2277 2339
2340
2278 double ConstantPoolArray::get_int64_entry_as_double(int index) { 2341 double ConstantPoolArray::get_int64_entry_as_double(int index) {
2279 STATIC_ASSERT(kDoubleSize == kInt64Size); 2342 STATIC_ASSERT(kDoubleSize == kInt64Size);
2280 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2343 ASSERT(map() == GetHeap()->constant_pool_array_map());
2281 ASSERT(index >= 0 && index < first_code_ptr_index()); 2344 ASSERT(get_type(index) == INT64);
2282 return READ_DOUBLE_FIELD(this, OffsetOfElementAt(index)); 2345 return READ_DOUBLE_FIELD(this, OffsetOfElementAt(index));
2283 } 2346 }
2284 2347
2285 2348
2286 Address ConstantPoolArray::get_code_ptr_entry(int index) { 2349 Address ConstantPoolArray::get_code_ptr_entry(int index) {
2287 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2350 ASSERT(map() == GetHeap()->constant_pool_array_map());
2288 ASSERT(index >= first_code_ptr_index() && index < first_heap_ptr_index()); 2351 ASSERT(get_type(index) == CODE_PTR);
2289 return reinterpret_cast<Address>(READ_FIELD(this, OffsetOfElementAt(index))); 2352 return reinterpret_cast<Address>(READ_FIELD(this, OffsetOfElementAt(index)));
2290 } 2353 }
2291 2354
2292 2355
2293 Object* ConstantPoolArray::get_heap_ptr_entry(int index) { 2356 Object* ConstantPoolArray::get_heap_ptr_entry(int index) {
2294 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2357 ASSERT(map() == GetHeap()->constant_pool_array_map());
2295 ASSERT(index >= first_heap_ptr_index() && index < first_int32_index()); 2358 ASSERT(get_type(index) == HEAP_PTR);
2296 return READ_FIELD(this, OffsetOfElementAt(index)); 2359 return READ_FIELD(this, OffsetOfElementAt(index));
2297 } 2360 }
2298 2361
2299 2362
2300 int32_t ConstantPoolArray::get_int32_entry(int index) { 2363 int32_t ConstantPoolArray::get_int32_entry(int index) {
2301 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2364 ASSERT(map() == GetHeap()->constant_pool_array_map());
2302 ASSERT(index >= first_int32_index() && index < length()); 2365 ASSERT(get_type(index) == INT32);
2303 return READ_INT32_FIELD(this, OffsetOfElementAt(index)); 2366 return READ_INT32_FIELD(this, OffsetOfElementAt(index));
2304 } 2367 }
2305 2368
2306 2369
2370 void ConstantPoolArray::set(int index, int64_t value) {
2371 ASSERT(map() == GetHeap()->constant_pool_array_map());
2372 ASSERT(get_type(index) == INT64);
2373 WRITE_INT64_FIELD(this, OffsetOfElementAt(index), value);
2374 }
2375
2376
2377 void ConstantPoolArray::set(int index, double value) {
2378 STATIC_ASSERT(kDoubleSize == kInt64Size);
2379 ASSERT(map() == GetHeap()->constant_pool_array_map());
2380 ASSERT(get_type(index) == INT64);
2381 WRITE_DOUBLE_FIELD(this, OffsetOfElementAt(index), value);
2382 }
2383
2384
2307 void ConstantPoolArray::set(int index, Address value) { 2385 void ConstantPoolArray::set(int index, Address value) {
2308 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2386 ASSERT(map() == GetHeap()->constant_pool_array_map());
2309 ASSERT(index >= first_code_ptr_index() && index < first_heap_ptr_index()); 2387 ASSERT(get_type(index) == CODE_PTR);
2310 WRITE_FIELD(this, OffsetOfElementAt(index), reinterpret_cast<Object*>(value)); 2388 WRITE_FIELD(this, OffsetOfElementAt(index), reinterpret_cast<Object*>(value));
2311 } 2389 }
2312 2390
2313 2391
2314 void ConstantPoolArray::set(int index, Object* value) { 2392 void ConstantPoolArray::set(int index, Object* value) {
2315 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2393 ASSERT(map() == GetHeap()->constant_pool_array_map());
2316 ASSERT(index >= first_code_ptr_index() && index < first_int32_index()); 2394 ASSERT(get_type(index) == HEAP_PTR);
2317 WRITE_FIELD(this, OffsetOfElementAt(index), value); 2395 WRITE_FIELD(this, OffsetOfElementAt(index), value);
2318 WRITE_BARRIER(GetHeap(), this, OffsetOfElementAt(index), value); 2396 WRITE_BARRIER(GetHeap(), this, OffsetOfElementAt(index), value);
2319 } 2397 }
2320 2398
2321 2399
2322 void ConstantPoolArray::set(int index, int64_t value) {
2323 ASSERT(map() == GetHeap()->constant_pool_array_map());
2324 ASSERT(index >= first_int64_index() && index < first_code_ptr_index());
2325 WRITE_INT64_FIELD(this, OffsetOfElementAt(index), value);
2326 }
2327
2328
2329 void ConstantPoolArray::set(int index, double value) {
2330 STATIC_ASSERT(kDoubleSize == kInt64Size);
2331 ASSERT(map() == GetHeap()->constant_pool_array_map());
2332 ASSERT(index >= first_int64_index() && index < first_code_ptr_index());
2333 WRITE_DOUBLE_FIELD(this, OffsetOfElementAt(index), value);
2334 }
2335
2336
2337 void ConstantPoolArray::set(int index, int32_t value) { 2400 void ConstantPoolArray::set(int index, int32_t value) {
2338 ASSERT(map() == GetHeap()->constant_pool_array_map()); 2401 ASSERT(map() == GetHeap()->constant_pool_array_map());
2339 ASSERT(index >= this->first_int32_index() && index < length()); 2402 ASSERT(get_type(index) == INT32);
2340 WRITE_INT32_FIELD(this, OffsetOfElementAt(index), value); 2403 WRITE_INT32_FIELD(this, OffsetOfElementAt(index), value);
2341 } 2404 }
2342 2405
2343 2406
2407 void ConstantPoolArray::Init(int int64_count,
2408 int code_ptr_count,
2409 int heap_ptr_count,
2410 int int32_count) {
2411 uint32_t small_layout_1 =
2412 Int64CountField::encode(int64_count) |
2413 CodePtrCountField::encode(code_ptr_count) |
2414 HeapPtrCountField::encode(heap_ptr_count) |
2415 IsExtendedField::encode(false);
2416 uint32_t small_layout_2 =
2417 Int32CountField::encode(int32_count) |
2418 TotalCountField::encode(int64_count + code_ptr_count + heap_ptr_count +
2419 int32_count) |
2420 WeakObjectStateField::encode(NO_WEAK_OBJECTS);
2421 WRITE_UINT32_FIELD(this, kSmallLayout1Offset, small_layout_1);
2422 WRITE_UINT32_FIELD(this, kSmallLayout2Offset, small_layout_2);
2423 if (kHeaderSize != kFirstEntryOffset) {
2424 ASSERT(kFirstEntryOffset - kHeaderSize == kInt32Size);
2425 WRITE_UINT32_FIELD(this, kHeaderSize, 0); // Zero out header padding.
2426 }
2427 }
2428
2429
2430 void ConstantPoolArray::InitExtended(int small_section_int64_count,
2431 int small_section_code_ptr_count,
2432 int small_section_heap_ptr_count,
2433 int small_section_int32_count,
2434 int extended_section_int64_count,
2435 int extended_section_code_ptr_count,
2436 int extended_section_heap_ptr_count,
2437 int extended_section_int32_count) {
2438 // Initialize small layout fields first.
2439 Init(small_section_int64_count, small_section_code_ptr_count,
2440 small_section_heap_ptr_count, small_section_int32_count);
2441
2442 // Set is_extended_layout field.
2443 uint32_t small_layout_1 = READ_UINT32_FIELD(this, kSmallLayout1Offset);
2444 small_layout_1 = IsExtendedField::update(small_layout_1, true);
2445 WRITE_INT32_FIELD(this, kSmallLayout1Offset, small_layout_1);
2446
2447 // Initialize the extended layout fields.
2448 int extended_header_offset = get_extended_section_header_offset();
2449 WRITE_INT_FIELD(this, extended_header_offset + kExtendedInt64CountOffset,
2450 extended_section_int64_count);
2451 WRITE_INT_FIELD(this, extended_header_offset + kExtendedCodePtrCountOffset,
2452 extended_section_code_ptr_count);
2453 WRITE_INT_FIELD(this, extended_header_offset + kExtendedHeapPtrCountOffset,
2454 extended_section_heap_ptr_count);
2455 WRITE_INT_FIELD(this, extended_header_offset + kExtendedInt32CountOffset,
2456 extended_section_int32_count);
2457 }
2458
2459
2460 int ConstantPoolArray::size() {
2461 if (!is_extended_layout()) {
2462 return SizeFor(number_of_entries(INT64, SMALL_SECTION),
2463 number_of_entries(CODE_PTR, SMALL_SECTION),
2464 number_of_entries(HEAP_PTR, SMALL_SECTION),
2465 number_of_entries(INT32, SMALL_SECTION));
2466 } else {
2467 return SizeForExtended(number_of_entries(INT64, SMALL_SECTION),
2468 number_of_entries(CODE_PTR, SMALL_SECTION),
2469 number_of_entries(HEAP_PTR, SMALL_SECTION),
2470 number_of_entries(INT32, SMALL_SECTION),
2471 number_of_entries(INT64, EXTENDED_SECTION),
2472 number_of_entries(CODE_PTR, EXTENDED_SECTION),
2473 number_of_entries(HEAP_PTR, EXTENDED_SECTION),
2474 number_of_entries(INT32, EXTENDED_SECTION));
2475 }
2476 }
2477
2478
2479 int ConstantPoolArray::length() {
2480 uint32_t small_layout_2 = READ_UINT32_FIELD(this, kSmallLayout2Offset);
2481 int length = TotalCountField::decode(small_layout_2);
2482 if (is_extended_layout()) {
2483 length += number_of_entries(INT64, EXTENDED_SECTION) +
2484 number_of_entries(CODE_PTR, EXTENDED_SECTION) +
2485 number_of_entries(HEAP_PTR, EXTENDED_SECTION) +
2486 number_of_entries(INT32, EXTENDED_SECTION);
2487 }
2488 return length;
2489 }
2490
2491
2492 int ConstantPoolArray::Iterator::next_index() {
2493 ASSERT(!is_finished());
2494 int ret = next_index_++;
2495 update_section();
2496 return ret;
2497 }
2498
2499
2500 bool ConstantPoolArray::Iterator::is_finished() {
2501 return next_index_ > array_->last_index(type_, final_section_);
2502 }
2503
2504
2505 void ConstantPoolArray::Iterator::update_section() {
2506 if (next_index_ > array_->last_index(type_, current_section_) &&
2507 current_section_ != final_section_) {
2508 ASSERT(final_section_ == EXTENDED_SECTION);
2509 current_section_ = EXTENDED_SECTION;
2510 next_index_ = array_->first_index(type_, EXTENDED_SECTION);
2511 }
2512 }
2513
2514
2344 WriteBarrierMode HeapObject::GetWriteBarrierMode( 2515 WriteBarrierMode HeapObject::GetWriteBarrierMode(
2345 const DisallowHeapAllocation& promise) { 2516 const DisallowHeapAllocation& promise) {
2346 Heap* heap = GetHeap(); 2517 Heap* heap = GetHeap();
2347 if (heap->incremental_marking()->IsMarking()) return UPDATE_WRITE_BARRIER; 2518 if (heap->incremental_marking()->IsMarking()) return UPDATE_WRITE_BARRIER;
2348 if (heap->InNewSpace(this)) return SKIP_WRITE_BARRIER; 2519 if (heap->InNewSpace(this)) return SKIP_WRITE_BARRIER;
2349 return UPDATE_WRITE_BARRIER; 2520 return UPDATE_WRITE_BARRIER;
2350 } 2521 }
2351 2522
2352 2523
2353 void FixedArray::set(int index, 2524 void FixedArray::set(int index,
(...skipping 1582 matching lines...) Expand 10 before | Expand all | Expand 10 after
3936 if (instance_type == STRING_TYPE || 4107 if (instance_type == STRING_TYPE ||
3937 instance_type == INTERNALIZED_STRING_TYPE) { 4108 instance_type == INTERNALIZED_STRING_TYPE) {
3938 return SeqTwoByteString::SizeFor( 4109 return SeqTwoByteString::SizeFor(
3939 reinterpret_cast<SeqTwoByteString*>(this)->length()); 4110 reinterpret_cast<SeqTwoByteString*>(this)->length());
3940 } 4111 }
3941 if (instance_type == FIXED_DOUBLE_ARRAY_TYPE) { 4112 if (instance_type == FIXED_DOUBLE_ARRAY_TYPE) {
3942 return FixedDoubleArray::SizeFor( 4113 return FixedDoubleArray::SizeFor(
3943 reinterpret_cast<FixedDoubleArray*>(this)->length()); 4114 reinterpret_cast<FixedDoubleArray*>(this)->length());
3944 } 4115 }
3945 if (instance_type == CONSTANT_POOL_ARRAY_TYPE) { 4116 if (instance_type == CONSTANT_POOL_ARRAY_TYPE) {
3946 return ConstantPoolArray::SizeFor( 4117 return reinterpret_cast<ConstantPoolArray*>(this)->size();
3947 reinterpret_cast<ConstantPoolArray*>(this)->count_of_int64_entries(),
3948 reinterpret_cast<ConstantPoolArray*>(this)->count_of_code_ptr_entries(),
3949 reinterpret_cast<ConstantPoolArray*>(this)->count_of_heap_ptr_entries(),
3950 reinterpret_cast<ConstantPoolArray*>(this)->count_of_int32_entries());
3951 } 4118 }
3952 if (instance_type >= FIRST_FIXED_TYPED_ARRAY_TYPE && 4119 if (instance_type >= FIRST_FIXED_TYPED_ARRAY_TYPE &&
3953 instance_type <= LAST_FIXED_TYPED_ARRAY_TYPE) { 4120 instance_type <= LAST_FIXED_TYPED_ARRAY_TYPE) {
3954 return reinterpret_cast<FixedTypedArrayBase*>(this)->size(); 4121 return reinterpret_cast<FixedTypedArrayBase*>(this)->size();
3955 } 4122 }
3956 ASSERT(instance_type == CODE_TYPE); 4123 ASSERT(instance_type == CODE_TYPE);
3957 return reinterpret_cast<Code*>(this)->CodeSize(); 4124 return reinterpret_cast<Code*>(this)->CodeSize();
3958 } 4125 }
3959 4126
3960 4127
(...skipping 2884 matching lines...) Expand 10 before | Expand all | Expand 10 after
6845 #undef READ_SHORT_FIELD 7012 #undef READ_SHORT_FIELD
6846 #undef WRITE_SHORT_FIELD 7013 #undef WRITE_SHORT_FIELD
6847 #undef READ_BYTE_FIELD 7014 #undef READ_BYTE_FIELD
6848 #undef WRITE_BYTE_FIELD 7015 #undef WRITE_BYTE_FIELD
6849 #undef NOBARRIER_READ_BYTE_FIELD 7016 #undef NOBARRIER_READ_BYTE_FIELD
6850 #undef NOBARRIER_WRITE_BYTE_FIELD 7017 #undef NOBARRIER_WRITE_BYTE_FIELD
6851 7018
6852 } } // namespace v8::internal 7019 } } // namespace v8::internal
6853 7020
6854 #endif // V8_OBJECTS_INL_H_ 7021 #endif // V8_OBJECTS_INL_H_
OLDNEW
« src/objects.cc ('K') | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698