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

Side by Side Diff: test/cctest/test-field-type-tracking.cc

Issue 2595893002: [runtime] Remove specific Descriptor subclasses and add respective factory methods instead. (Closed)
Patch Set: Created 4 years 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
« no previous file with comments | « test/cctest/heap/test-alloc.cc ('k') | test/cctest/test-unboxed-doubles.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 #include <stdlib.h> 5 #include <stdlib.h>
6 #include <utility> 6 #include <utility>
7 7
8 #include "test/cctest/test-api.h" 8 #include "test/cctest/test-api.h"
9 9
10 #include "src/v8.h" 10 #include "src/v8.h"
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 369
370 Handle<Map> AddAccessorConstant(Handle<Map> map, 370 Handle<Map> AddAccessorConstant(Handle<Map> map,
371 PropertyAttributes attributes, 371 PropertyAttributes attributes,
372 Handle<AccessorPair> pair) { 372 Handle<AccessorPair> pair) {
373 CHECK_EQ(number_of_properties_, map->NumberOfOwnDescriptors()); 373 CHECK_EQ(number_of_properties_, map->NumberOfOwnDescriptors());
374 int property_index = number_of_properties_++; 374 int property_index = number_of_properties_++;
375 SetAccessorConstant(property_index, attributes, pair); 375 SetAccessorConstant(property_index, attributes, pair);
376 376
377 Handle<String> name = MakeName("prop", property_index); 377 Handle<String> name = MakeName("prop", property_index);
378 378
379 AccessorConstantDescriptor new_desc(name, pair, attributes); 379 Descriptor d = Descriptor::AccessorConstant(name, pair, attributes);
380 return Map::CopyInsertDescriptor(map, &new_desc, INSERT_TRANSITION); 380 return Map::CopyInsertDescriptor(map, &d, INSERT_TRANSITION);
381 } 381 }
382 382
383 Handle<Map> AddAccessorConstant(Handle<Map> map, 383 Handle<Map> AddAccessorConstant(Handle<Map> map,
384 PropertyAttributes attributes, 384 PropertyAttributes attributes,
385 Handle<Object> getter, 385 Handle<Object> getter,
386 Handle<Object> setter) { 386 Handle<Object> setter) {
387 CHECK_EQ(number_of_properties_, map->NumberOfOwnDescriptors()); 387 CHECK_EQ(number_of_properties_, map->NumberOfOwnDescriptors());
388 int property_index = number_of_properties_++; 388 int property_index = number_of_properties_++;
389 SetAccessorConstant(property_index, attributes, getter, setter); 389 SetAccessorConstant(property_index, attributes, getter, setter);
390 390
391 Handle<String> name = MakeName("prop", property_index); 391 Handle<String> name = MakeName("prop", property_index);
392 392
393 CHECK(!getter->IsNull(isolate_) || !setter->IsNull(isolate_)); 393 CHECK(!getter->IsNull(isolate_) || !setter->IsNull(isolate_));
394 Factory* factory = isolate_->factory(); 394 Factory* factory = isolate_->factory();
395 395
396 if (!getter->IsNull(isolate_)) { 396 if (!getter->IsNull(isolate_)) {
397 Handle<AccessorPair> pair = factory->NewAccessorPair(); 397 Handle<AccessorPair> pair = factory->NewAccessorPair();
398 pair->SetComponents(*getter, *factory->null_value()); 398 pair->SetComponents(*getter, *factory->null_value());
399 AccessorConstantDescriptor new_desc(name, pair, attributes); 399 Descriptor d = Descriptor::AccessorConstant(name, pair, attributes);
400 map = Map::CopyInsertDescriptor(map, &new_desc, INSERT_TRANSITION); 400 map = Map::CopyInsertDescriptor(map, &d, INSERT_TRANSITION);
401 } 401 }
402 if (!setter->IsNull(isolate_)) { 402 if (!setter->IsNull(isolate_)) {
403 Handle<AccessorPair> pair = factory->NewAccessorPair(); 403 Handle<AccessorPair> pair = factory->NewAccessorPair();
404 pair->SetComponents(*getter, *setter); 404 pair->SetComponents(*getter, *setter);
405 AccessorConstantDescriptor new_desc(name, pair, attributes); 405 Descriptor d = Descriptor::AccessorConstant(name, pair, attributes);
406 map = Map::CopyInsertDescriptor(map, &new_desc, INSERT_TRANSITION); 406 map = Map::CopyInsertDescriptor(map, &d, INSERT_TRANSITION);
407 } 407 }
408 return map; 408 return map;
409 } 409 }
410 410
411 Handle<Map> TransitionToAccessorConstant(Handle<Map> map, 411 Handle<Map> TransitionToAccessorConstant(Handle<Map> map,
412 PropertyAttributes attributes, 412 PropertyAttributes attributes,
413 Handle<AccessorPair> pair) { 413 Handle<AccessorPair> pair) {
414 CHECK_EQ(number_of_properties_, map->NumberOfOwnDescriptors()); 414 CHECK_EQ(number_of_properties_, map->NumberOfOwnDescriptors());
415 int property_index = number_of_properties_++; 415 int property_index = number_of_properties_++;
416 SetAccessorConstant(property_index, attributes, pair); 416 SetAccessorConstant(property_index, attributes, pair);
(...skipping 2000 matching lines...) Expand 10 before | Expand all | Expand 10 after
2417 Isolate* isolate = CcTest::i_isolate(); 2417 Isolate* isolate = CcTest::i_isolate();
2418 2418
2419 Zone zone(isolate->allocator(), ZONE_NAME); 2419 Zone zone(isolate->allocator(), ZONE_NAME);
2420 2420
2421 CHECK_EQ(FieldType::Any()->Convert(&zone), AstType::NonInternal()); 2421 CHECK_EQ(FieldType::Any()->Convert(&zone), AstType::NonInternal());
2422 CHECK_EQ(FieldType::None()->Convert(&zone), AstType::None()); 2422 CHECK_EQ(FieldType::None()->Convert(&zone), AstType::None());
2423 } 2423 }
2424 2424
2425 // TODO(ishell): add this test once IS_ACCESSOR_FIELD_SUPPORTED is supported. 2425 // TODO(ishell): add this test once IS_ACCESSOR_FIELD_SUPPORTED is supported.
2426 // TEST(TransitionAccessorConstantToAnotherAccessorConstant) 2426 // TEST(TransitionAccessorConstantToAnotherAccessorConstant)
OLDNEW
« no previous file with comments | « test/cctest/heap/test-alloc.cc ('k') | test/cctest/test-unboxed-doubles.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698