OLD | NEW |
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 "src/objects.h" | 5 #include "src/objects.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 #include <iomanip> | 8 #include <iomanip> |
9 #include <memory> | 9 #include <memory> |
10 #include <sstream> | 10 #include <sstream> |
(...skipping 15919 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15930 } | 15930 } |
15931 site->SetElementsKind(to_kind); | 15931 site->SetElementsKind(to_kind); |
15932 site->dependent_code()->DeoptimizeDependentCodeGroup( | 15932 site->dependent_code()->DeoptimizeDependentCodeGroup( |
15933 isolate, DependentCode::kAllocationSiteTransitionChangedGroup); | 15933 isolate, DependentCode::kAllocationSiteTransitionChangedGroup); |
15934 result = true; | 15934 result = true; |
15935 } | 15935 } |
15936 } | 15936 } |
15937 return result; | 15937 return result; |
15938 } | 15938 } |
15939 | 15939 |
| 15940 AllocationSiteMode AllocationSite::GetMode(ElementsKind from, ElementsKind to) { |
| 15941 if (IsFastSmiElementsKind(from) && |
| 15942 IsMoreGeneralElementsKindTransition(from, to)) { |
| 15943 return TRACK_ALLOCATION_SITE; |
| 15944 } |
| 15945 |
| 15946 return DONT_TRACK_ALLOCATION_SITE; |
| 15947 } |
15940 | 15948 |
15941 const char* AllocationSite::PretenureDecisionName(PretenureDecision decision) { | 15949 const char* AllocationSite::PretenureDecisionName(PretenureDecision decision) { |
15942 switch (decision) { | 15950 switch (decision) { |
15943 case kUndecided: return "undecided"; | 15951 case kUndecided: return "undecided"; |
15944 case kDontTenure: return "don't tenure"; | 15952 case kDontTenure: return "don't tenure"; |
15945 case kMaybeTenure: return "maybe tenure"; | 15953 case kMaybeTenure: return "maybe tenure"; |
15946 case kTenure: return "tenure"; | 15954 case kTenure: return "tenure"; |
15947 case kZombie: return "zombie"; | 15955 case kZombie: return "zombie"; |
15948 default: UNREACHABLE(); | 15956 default: UNREACHABLE(); |
15949 } | 15957 } |
(...skipping 4381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
20331 // Check if the accessor uses a cached property. | 20339 // Check if the accessor uses a cached property. |
20332 if (!fti->cached_property_name()->IsTheHole(isolate)) { | 20340 if (!fti->cached_property_name()->IsTheHole(isolate)) { |
20333 return handle(Name::cast(fti->cached_property_name())); | 20341 return handle(Name::cast(fti->cached_property_name())); |
20334 } | 20342 } |
20335 } | 20343 } |
20336 return MaybeHandle<Name>(); | 20344 return MaybeHandle<Name>(); |
20337 } | 20345 } |
20338 | 20346 |
20339 } // namespace internal | 20347 } // namespace internal |
20340 } // namespace v8 | 20348 } // namespace v8 |
OLD | NEW |