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

Side by Side Diff: src/builtins/builtins-ic.cc

Issue 2711353002: [LoadIC] Use LoadIC_Uninitialized for 0->PRE transitions (Closed)
Patch Set: 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 | « src/builtins/builtins.h ('k') | src/code-factory.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 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 #include "src/builtins/builtins-utils.h" 5 #include "src/builtins/builtins-utils.h"
6 #include "src/builtins/builtins.h" 6 #include "src/builtins/builtins.h"
7 #include "src/ic/accessor-assembler.h" 7 #include "src/ic/accessor-assembler.h"
8 #include "src/objects-inl.h" 8 #include "src/objects-inl.h"
9 9
10 namespace v8 { 10 namespace v8 {
11 namespace internal { 11 namespace internal {
12 12
13 #define IC_BUILTIN(Name) \ 13 #define IC_BUILTIN(Name) \
14 void Builtins::Generate_##Name(compiler::CodeAssemblerState* state) { \ 14 void Builtins::Generate_##Name(compiler::CodeAssemblerState* state) { \
15 AccessorAssembler assembler(state); \ 15 AccessorAssembler assembler(state); \
16 assembler.Generate##Name(); \ 16 assembler.Generate##Name(); \
17 } 17 }
18 18
19 #define IC_BUILTIN_PARAM(BuiltinName, GeneratorName, parameter) \ 19 #define IC_BUILTIN_PARAM(BuiltinName, GeneratorName, parameter) \
20 void Builtins::Generate_##BuiltinName(compiler::CodeAssemblerState* state) { \ 20 void Builtins::Generate_##BuiltinName(compiler::CodeAssemblerState* state) { \
21 AccessorAssembler assembler(state); \ 21 AccessorAssembler assembler(state); \
22 assembler.Generate##GeneratorName(parameter); \ 22 assembler.Generate##GeneratorName(parameter); \
23 } 23 }
24 24
25 IC_BUILTIN(LoadIC) 25 IC_BUILTIN(LoadIC)
26 IC_BUILTIN(LoadIC_Uninitialized)
26 IC_BUILTIN(KeyedLoadIC) 27 IC_BUILTIN(KeyedLoadIC)
27 IC_BUILTIN(LoadICTrampoline) 28 IC_BUILTIN(LoadICTrampoline)
28 IC_BUILTIN(LoadField) 29 IC_BUILTIN(LoadField)
29 IC_BUILTIN(KeyedLoadICTrampoline) 30 IC_BUILTIN(KeyedLoadICTrampoline)
30 IC_BUILTIN(KeyedLoadIC_Megamorphic) 31 IC_BUILTIN(KeyedLoadIC_Megamorphic)
31 IC_BUILTIN(StoreIC) 32 IC_BUILTIN(StoreIC)
32 IC_BUILTIN(StoreICTrampoline) 33 IC_BUILTIN(StoreICTrampoline)
33 34
34 IC_BUILTIN_PARAM(StoreICStrict, StoreIC, /* no param */) 35 IC_BUILTIN_PARAM(StoreICStrict, StoreIC, /* no param */)
35 IC_BUILTIN_PARAM(StoreICStrictTrampoline, StoreICTrampoline, /* no param */) 36 IC_BUILTIN_PARAM(StoreICStrictTrampoline, StoreICTrampoline, /* no param */)
36 37
37 IC_BUILTIN_PARAM(KeyedStoreIC, KeyedStoreIC, SLOPPY) 38 IC_BUILTIN_PARAM(KeyedStoreIC, KeyedStoreIC, SLOPPY)
38 IC_BUILTIN_PARAM(KeyedStoreICTrampoline, KeyedStoreICTrampoline, SLOPPY) 39 IC_BUILTIN_PARAM(KeyedStoreICTrampoline, KeyedStoreICTrampoline, SLOPPY)
39 IC_BUILTIN_PARAM(KeyedStoreICStrict, KeyedStoreIC, STRICT) 40 IC_BUILTIN_PARAM(KeyedStoreICStrict, KeyedStoreIC, STRICT)
40 IC_BUILTIN_PARAM(KeyedStoreICStrictTrampoline, KeyedStoreICTrampoline, STRICT) 41 IC_BUILTIN_PARAM(KeyedStoreICStrictTrampoline, KeyedStoreICTrampoline, STRICT)
41 IC_BUILTIN_PARAM(LoadGlobalIC, LoadGlobalIC, NOT_INSIDE_TYPEOF) 42 IC_BUILTIN_PARAM(LoadGlobalIC, LoadGlobalIC, NOT_INSIDE_TYPEOF)
42 IC_BUILTIN_PARAM(LoadGlobalICInsideTypeof, LoadGlobalIC, INSIDE_TYPEOF) 43 IC_BUILTIN_PARAM(LoadGlobalICInsideTypeof, LoadGlobalIC, INSIDE_TYPEOF)
43 IC_BUILTIN_PARAM(LoadGlobalICTrampoline, LoadGlobalICTrampoline, 44 IC_BUILTIN_PARAM(LoadGlobalICTrampoline, LoadGlobalICTrampoline,
44 NOT_INSIDE_TYPEOF) 45 NOT_INSIDE_TYPEOF)
45 IC_BUILTIN_PARAM(LoadGlobalICInsideTypeofTrampoline, LoadGlobalICTrampoline, 46 IC_BUILTIN_PARAM(LoadGlobalICInsideTypeofTrampoline, LoadGlobalICTrampoline,
46 INSIDE_TYPEOF) 47 INSIDE_TYPEOF)
47 IC_BUILTIN_PARAM(LoadICProtoArray, LoadICProtoArray, false) 48 IC_BUILTIN_PARAM(LoadICProtoArray, LoadICProtoArray, false)
48 IC_BUILTIN_PARAM(LoadICProtoArrayThrowIfNonexistent, LoadICProtoArray, true) 49 IC_BUILTIN_PARAM(LoadICProtoArrayThrowIfNonexistent, LoadICProtoArray, true)
49 50
50 } // namespace internal 51 } // namespace internal
51 } // namespace v8 52 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins/builtins.h ('k') | src/code-factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698