OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 HObjectAccess::ForAllocationSiteOffset( | 504 HObjectAccess::ForAllocationSiteOffset( |
505 AllocationSite::kTransitionInfoOffset), | 505 AllocationSite::kTransitionInfoOffset), |
506 initial_elements_kind); | 506 initial_elements_kind); |
507 | 507 |
508 // Unlike literals, constructed arrays don't have nested sites | 508 // Unlike literals, constructed arrays don't have nested sites |
509 Add<HStoreNamedField>(object, | 509 Add<HStoreNamedField>(object, |
510 HObjectAccess::ForAllocationSiteOffset( | 510 HObjectAccess::ForAllocationSiteOffset( |
511 AllocationSite::kNestedSiteOffset), | 511 AllocationSite::kNestedSiteOffset), |
512 graph()->GetConstant0()); | 512 graph()->GetConstant0()); |
513 | 513 |
| 514 // Pretenuring calculation fields. |
| 515 Add<HStoreNamedField>(object, |
| 516 HObjectAccess::ForAllocationSiteOffset( |
| 517 AllocationSite::kMementoFoundCountOffset), |
| 518 graph()->GetConstant0()); |
| 519 |
| 520 Add<HStoreNamedField>(object, |
| 521 HObjectAccess::ForAllocationSiteOffset( |
| 522 AllocationSite::kMementoCreateCountOffset), |
| 523 graph()->GetConstant0()); |
| 524 |
| 525 Add<HStoreNamedField>(object, |
| 526 HObjectAccess::ForAllocationSiteOffset( |
| 527 AllocationSite::kPretenureDecisionOffset), |
| 528 graph()->GetConstant0()); |
| 529 |
514 // Store an empty fixed array for the code dependency. | 530 // Store an empty fixed array for the code dependency. |
515 HConstant* empty_fixed_array = | 531 HConstant* empty_fixed_array = |
516 Add<HConstant>(isolate()->factory()->empty_fixed_array()); | 532 Add<HConstant>(isolate()->factory()->empty_fixed_array()); |
517 HStoreNamedField* store = Add<HStoreNamedField>( | 533 HStoreNamedField* store = Add<HStoreNamedField>( |
518 object, | 534 object, |
519 HObjectAccess::ForAllocationSiteOffset( | 535 HObjectAccess::ForAllocationSiteOffset( |
520 AllocationSite::kDependentCodeOffset), | 536 AllocationSite::kDependentCodeOffset), |
521 empty_fixed_array); | 537 empty_fixed_array); |
522 | 538 |
523 // Link the object to the allocation site list | 539 // Link the object to the allocation site list |
(...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1313 return BuildUncheckedDictionaryElementLoad(receiver, key); | 1329 return BuildUncheckedDictionaryElementLoad(receiver, key); |
1314 } | 1330 } |
1315 | 1331 |
1316 | 1332 |
1317 Handle<Code> KeyedLoadDictionaryElementStub::GenerateCode(Isolate* isolate) { | 1333 Handle<Code> KeyedLoadDictionaryElementStub::GenerateCode(Isolate* isolate) { |
1318 return DoGenerateCode(isolate, this); | 1334 return DoGenerateCode(isolate, this); |
1319 } | 1335 } |
1320 | 1336 |
1321 | 1337 |
1322 } } // namespace v8::internal | 1338 } } // namespace v8::internal |
OLD | NEW |