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

Side by Side Diff: src/code-stub-assembler.h

Issue 2539013002: [ic] Prevent KeyedStoreIC from being generic when storing doubles to integer typed arrays. (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 | « no previous file | src/code-stub-assembler.cc » ('j') | src/code-stub-assembler.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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 #ifndef V8_CODE_STUB_ASSEMBLER_H_ 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_
6 #define V8_CODE_STUB_ASSEMBLER_H_ 6 #define V8_CODE_STUB_ASSEMBLER_H_
7 7
8 #include <functional> 8 #include <functional>
9 9
10 #include "src/compiler/code-assembler.h" 10 #include "src/compiler/code-assembler.h"
(...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 // Emits keyed sloppy arguments store. 832 // Emits keyed sloppy arguments store.
833 void StoreKeyedSloppyArguments(Node* receiver, Node* key, Node* value, 833 void StoreKeyedSloppyArguments(Node* receiver, Node* key, Node* value,
834 Label* bailout) { 834 Label* bailout) {
835 DCHECK_NOT_NULL(value); 835 DCHECK_NOT_NULL(value);
836 EmitKeyedSloppyArguments(receiver, key, value, bailout); 836 EmitKeyedSloppyArguments(receiver, key, value, bailout);
837 } 837 }
838 838
839 // Loads script context from the script context table. 839 // Loads script context from the script context table.
840 Node* LoadScriptContext(Node* context, int context_index); 840 Node* LoadScriptContext(Node* context, int context_index);
841 841
842 Node* ClampedToUint8(Node* int32_value); 842 Node* Int32ToUint8Clamped(Node* int32_value);
843 Node* Float64ToUint8Clamped(Node* float64_value);
844
845 Node* PrepareValueForWriteToTypedArray(Node* key, ElementsKind elements_kind,
846 Label* bailout);
843 847
844 // Store value to an elements array with given elements kind. 848 // Store value to an elements array with given elements kind.
845 void StoreElement(Node* elements, ElementsKind kind, Node* index, Node* value, 849 void StoreElement(Node* elements, ElementsKind kind, Node* index, Node* value,
846 ParameterMode mode); 850 ParameterMode mode);
847 851
848 void EmitElementStore(Node* object, Node* key, Node* value, bool is_jsarray, 852 void EmitElementStore(Node* object, Node* key, Node* value, bool is_jsarray,
849 ElementsKind elements_kind, 853 ElementsKind elements_kind,
850 KeyedAccessStoreMode store_mode, Label* bailout); 854 KeyedAccessStoreMode store_mode, Label* bailout);
851 855
852 Node* CheckForCapacityGrow(Node* object, Node* elements, ElementsKind kind, 856 Node* CheckForCapacityGrow(Node* object, Node* elements, ElementsKind kind,
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
1068 } 1072 }
1069 #else 1073 #else
1070 #define CSA_SLOW_ASSERT(csa, x) ((void)0) 1074 #define CSA_SLOW_ASSERT(csa, x) ((void)0)
1071 #endif 1075 #endif
1072 1076
1073 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); 1077 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags);
1074 1078
1075 } // namespace internal 1079 } // namespace internal
1076 } // namespace v8 1080 } // namespace v8
1077 #endif // V8_CODE_STUB_ASSEMBLER_H_ 1081 #endif // V8_CODE_STUB_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « no previous file | src/code-stub-assembler.cc » ('j') | src/code-stub-assembler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698