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

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

Issue 1202173002: Remove --pretenuring-call-new (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix 64 bit release build break. Created 5 years, 3 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
« no previous file with comments | « src/mips64/code-stubs-mips64.cc ('k') | src/runtime/runtime.h » ('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 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 1731 matching lines...) Expand 10 before | Expand all | Expand 10 after
1742 // for a constructed array. Otherwise, it must be a boilerplate 1742 // for a constructed array. Otherwise, it must be a boilerplate
1743 // for an object or array literal. 1743 // for an object or array literal.
1744 return transition_info()->IsJSArray() || transition_info()->IsJSObject(); 1744 return transition_info()->IsJSArray() || transition_info()->IsJSObject();
1745 } 1745 }
1746 1746
1747 1747
1748 // Heuristic: We only need to create allocation site info if the boilerplate 1748 // Heuristic: We only need to create allocation site info if the boilerplate
1749 // elements kind is the initial elements kind. 1749 // elements kind is the initial elements kind.
1750 AllocationSiteMode AllocationSite::GetMode( 1750 AllocationSiteMode AllocationSite::GetMode(
1751 ElementsKind boilerplate_elements_kind) { 1751 ElementsKind boilerplate_elements_kind) {
1752 if (FLAG_pretenuring_call_new || 1752 if (IsFastSmiElementsKind(boilerplate_elements_kind)) {
1753 IsFastSmiElementsKind(boilerplate_elements_kind)) {
1754 return TRACK_ALLOCATION_SITE; 1753 return TRACK_ALLOCATION_SITE;
1755 } 1754 }
1756 1755
1757 return DONT_TRACK_ALLOCATION_SITE; 1756 return DONT_TRACK_ALLOCATION_SITE;
1758 } 1757 }
1759 1758
1760 1759
1761 AllocationSiteMode AllocationSite::GetMode(ElementsKind from, 1760 AllocationSiteMode AllocationSite::GetMode(ElementsKind from,
1762 ElementsKind to) { 1761 ElementsKind to) {
1763 if (FLAG_pretenuring_call_new || 1762 if (IsFastSmiElementsKind(from) &&
1764 (IsFastSmiElementsKind(from) && 1763 IsMoreGeneralElementsKindTransition(from, to)) {
1765 IsMoreGeneralElementsKindTransition(from, to))) {
1766 return TRACK_ALLOCATION_SITE; 1764 return TRACK_ALLOCATION_SITE;
1767 } 1765 }
1768 1766
1769 return DONT_TRACK_ALLOCATION_SITE; 1767 return DONT_TRACK_ALLOCATION_SITE;
1770 } 1768 }
1771 1769
1772 1770
1773 inline bool AllocationSite::CanTrack(InstanceType type) { 1771 inline bool AllocationSite::CanTrack(InstanceType type) {
1774 if (FLAG_allocation_site_pretenuring) { 1772 if (FLAG_allocation_site_pretenuring) {
1775 return type == JS_ARRAY_TYPE || 1773 return type == JS_ARRAY_TYPE ||
(...skipping 6141 matching lines...) Expand 10 before | Expand all | Expand 10 after
7917 #undef READ_INT64_FIELD 7915 #undef READ_INT64_FIELD
7918 #undef WRITE_INT64_FIELD 7916 #undef WRITE_INT64_FIELD
7919 #undef READ_BYTE_FIELD 7917 #undef READ_BYTE_FIELD
7920 #undef WRITE_BYTE_FIELD 7918 #undef WRITE_BYTE_FIELD
7921 #undef NOBARRIER_READ_BYTE_FIELD 7919 #undef NOBARRIER_READ_BYTE_FIELD
7922 #undef NOBARRIER_WRITE_BYTE_FIELD 7920 #undef NOBARRIER_WRITE_BYTE_FIELD
7923 7921
7924 } } // namespace v8::internal 7922 } } // namespace v8::internal
7925 7923
7926 #endif // V8_OBJECTS_INL_H_ 7924 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/mips64/code-stubs-mips64.cc ('k') | src/runtime/runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698