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

Side by Side Diff: src/ast/ast.cc

Issue 2760953002: [builtins] Move more files into v8_builtins_generators source set (Closed)
Patch Set: rebased Created 3 years, 9 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 | « BUILD.gn ('k') | src/builtins/builtins-arguments.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 #include "src/ast/ast.h" 5 #include "src/ast/ast.h"
6 6
7 #include <cmath> // For isfinite. 7 #include <cmath> // For isfinite.
8 8
9 #include "src/ast/compile-time-value.h" 9 #include "src/ast/compile-time-value.h"
10 #include "src/ast/prettyprinter.h" 10 #include "src/ast/prettyprinter.h"
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 } 680 }
681 681
682 constant_properties_ = constant_properties; 682 constant_properties_ = constant_properties;
683 } 683 }
684 684
685 bool ObjectLiteral::IsFastCloningSupported() const { 685 bool ObjectLiteral::IsFastCloningSupported() const {
686 // The FastCloneShallowObject builtin doesn't copy elements, and object 686 // The FastCloneShallowObject builtin doesn't copy elements, and object
687 // literals don't support copy-on-write (COW) elements for now. 687 // literals don't support copy-on-write (COW) elements for now.
688 // TODO(mvstanton): make object literals support COW elements. 688 // TODO(mvstanton): make object literals support COW elements.
689 return fast_elements() && has_shallow_properties() && 689 return fast_elements() && has_shallow_properties() &&
690 properties_count() <= ConstructorBuiltinsAssembler:: 690 properties_count() <=
691 kMaximumClonedShallowObjectProperties; 691 ConstructorBuiltins::kMaximumClonedShallowObjectProperties;
692 } 692 }
693 693
694 ElementsKind ArrayLiteral::constant_elements_kind() const { 694 ElementsKind ArrayLiteral::constant_elements_kind() const {
695 return static_cast<ElementsKind>(constant_elements()->elements_kind()); 695 return static_cast<ElementsKind>(constant_elements()->elements_kind());
696 } 696 }
697 697
698 void ArrayLiteral::InitDepthAndFlags() { 698 void ArrayLiteral::InitDepthAndFlags() {
699 DCHECK_LT(first_spread_index_, 0); 699 DCHECK_LT(first_spread_index_, 0);
700 700
701 if (depth_ > 0) return; 701 if (depth_ > 0) return;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 // Remember both the literal's constant values as well as the ElementsKind. 785 // Remember both the literal's constant values as well as the ElementsKind.
786 Handle<ConstantElementsPair> literals = 786 Handle<ConstantElementsPair> literals =
787 isolate->factory()->NewConstantElementsPair(kind, elements); 787 isolate->factory()->NewConstantElementsPair(kind, elements);
788 788
789 constant_elements_ = literals; 789 constant_elements_ = literals;
790 } 790 }
791 791
792 bool ArrayLiteral::IsFastCloningSupported() const { 792 bool ArrayLiteral::IsFastCloningSupported() const {
793 return depth() <= 1 && 793 return depth() <= 1 &&
794 values()->length() <= 794 values()->length() <=
795 ConstructorBuiltinsAssembler::kMaximumClonedShallowArrayElements; 795 ConstructorBuiltins::kMaximumClonedShallowArrayElements;
796 } 796 }
797 797
798 void ArrayLiteral::RewindSpreads() { 798 void ArrayLiteral::RewindSpreads() {
799 values_->Rewind(first_spread_index_); 799 values_->Rewind(first_spread_index_);
800 first_spread_index_ = -1; 800 first_spread_index_ = -1;
801 } 801 }
802 802
803 void ArrayLiteral::AssignFeedbackSlots(FeedbackVectorSpec* spec, 803 void ArrayLiteral::AssignFeedbackSlots(FeedbackVectorSpec* spec,
804 LanguageMode language_mode, 804 LanguageMode language_mode,
805 FeedbackSlotCache* cache) { 805 FeedbackSlotCache* cache) {
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
1116 #ifdef DEBUG 1116 #ifdef DEBUG
1117 return is_jsruntime() ? NameForNativeContextIntrinsicIndex(context_index_) 1117 return is_jsruntime() ? NameForNativeContextIntrinsicIndex(context_index_)
1118 : function_->name; 1118 : function_->name;
1119 #else 1119 #else
1120 return is_jsruntime() ? "(context function)" : function_->name; 1120 return is_jsruntime() ? "(context function)" : function_->name;
1121 #endif // DEBUG 1121 #endif // DEBUG
1122 } 1122 }
1123 1123
1124 } // namespace internal 1124 } // namespace internal
1125 } // namespace v8 1125 } // namespace v8
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/builtins/builtins-arguments.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698