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 3 // found in the LICENSE file. 4 5 #include "src/builtins/builtins-utils-gen.h" 6 #include "src/builtins/builtins.h" 7 #include "src/codegen/code-stub-assembler.h" 8 #include "src/ic/accessor-assembler.h" 9 10 namespace v8 { 11 namespace internal { 12 Generate_LoadIC(compiler::CodeAssemblerState * state)13void Builtins::Generate_LoadIC(compiler::CodeAssemblerState* state) { 14 AccessorAssembler assembler(state); 15 assembler.GenerateLoadIC(); 16 } Generate_LoadIC_Megamorphic(compiler::CodeAssemblerState * state)17void Builtins::Generate_LoadIC_Megamorphic( 18 compiler::CodeAssemblerState* state) { 19 AccessorAssembler assembler(state); 20 assembler.GenerateLoadIC_Megamorphic(); 21 } Generate_LoadIC_Noninlined(compiler::CodeAssemblerState * state)22void Builtins::Generate_LoadIC_Noninlined(compiler::CodeAssemblerState* state) { 23 AccessorAssembler assembler(state); 24 assembler.GenerateLoadIC_Noninlined(); 25 } Generate_LoadIC_NoFeedback(compiler::CodeAssemblerState * state)26void Builtins::Generate_LoadIC_NoFeedback(compiler::CodeAssemblerState* state) { 27 AccessorAssembler assembler(state); 28 assembler.GenerateLoadIC_NoFeedback(); 29 } Generate_LoadICTrampoline(compiler::CodeAssemblerState * state)30void Builtins::Generate_LoadICTrampoline(compiler::CodeAssemblerState* state) { 31 AccessorAssembler assembler(state); 32 assembler.GenerateLoadICTrampoline(); 33 } Generate_LoadICBaseline(compiler::CodeAssemblerState * state)34void Builtins::Generate_LoadICBaseline(compiler::CodeAssemblerState* state) { 35 AccessorAssembler assembler(state); 36 assembler.GenerateLoadICBaseline(); 37 } Generate_LoadICTrampoline_Megamorphic(compiler::CodeAssemblerState * state)38void Builtins::Generate_LoadICTrampoline_Megamorphic( 39 compiler::CodeAssemblerState* state) { 40 AccessorAssembler assembler(state); 41 assembler.GenerateLoadICTrampoline_Megamorphic(); 42 } Generate_LoadSuperIC(compiler::CodeAssemblerState * state)43void Builtins::Generate_LoadSuperIC(compiler::CodeAssemblerState* state) { 44 AccessorAssembler assembler(state); 45 assembler.GenerateLoadSuperIC(); 46 } Generate_LoadSuperICBaseline(compiler::CodeAssemblerState * state)47void Builtins::Generate_LoadSuperICBaseline( 48 compiler::CodeAssemblerState* state) { 49 AccessorAssembler assembler(state); 50 assembler.GenerateLoadSuperICBaseline(); 51 } Generate_KeyedLoadIC(compiler::CodeAssemblerState * state)52void Builtins::Generate_KeyedLoadIC(compiler::CodeAssemblerState* state) { 53 AccessorAssembler assembler(state); 54 assembler.GenerateKeyedLoadIC(); 55 } Generate_KeyedLoadIC_Megamorphic(compiler::CodeAssemblerState * state)56void Builtins::Generate_KeyedLoadIC_Megamorphic( 57 compiler::CodeAssemblerState* state) { 58 AccessorAssembler assembler(state); 59 assembler.GenerateKeyedLoadIC_Megamorphic(); 60 } Generate_KeyedLoadIC_PolymorphicName(compiler::CodeAssemblerState * state)61void Builtins::Generate_KeyedLoadIC_PolymorphicName( 62 compiler::CodeAssemblerState* state) { 63 AccessorAssembler assembler(state); 64 assembler.GenerateKeyedLoadIC_PolymorphicName(); 65 } Generate_KeyedLoadICTrampoline(compiler::CodeAssemblerState * state)66void Builtins::Generate_KeyedLoadICTrampoline( 67 compiler::CodeAssemblerState* state) { 68 AccessorAssembler assembler(state); 69 assembler.GenerateKeyedLoadICTrampoline(); 70 } Generate_KeyedLoadICBaseline(compiler::CodeAssemblerState * state)71void Builtins::Generate_KeyedLoadICBaseline( 72 compiler::CodeAssemblerState* state) { 73 AccessorAssembler assembler(state); 74 assembler.GenerateKeyedLoadICBaseline(); 75 } Generate_KeyedLoadICTrampoline_Megamorphic(compiler::CodeAssemblerState * state)76void Builtins::Generate_KeyedLoadICTrampoline_Megamorphic( 77 compiler::CodeAssemblerState* state) { 78 AccessorAssembler assembler(state); 79 assembler.GenerateKeyedLoadICTrampoline_Megamorphic(); 80 } Generate_LoadGlobalIC_NoFeedback(compiler::CodeAssemblerState * state)81void Builtins::Generate_LoadGlobalIC_NoFeedback( 82 compiler::CodeAssemblerState* state) { 83 AccessorAssembler assembler(state); 84 assembler.GenerateLoadGlobalIC_NoFeedback(); 85 } Generate_StoreGlobalIC(compiler::CodeAssemblerState * state)86void Builtins::Generate_StoreGlobalIC(compiler::CodeAssemblerState* state) { 87 AccessorAssembler assembler(state); 88 assembler.GenerateStoreGlobalIC(); 89 } Generate_StoreGlobalICTrampoline(compiler::CodeAssemblerState * state)90void Builtins::Generate_StoreGlobalICTrampoline( 91 compiler::CodeAssemblerState* state) { 92 AccessorAssembler assembler(state); 93 assembler.GenerateStoreGlobalICTrampoline(); 94 } Generate_StoreGlobalICBaseline(compiler::CodeAssemblerState * state)95void Builtins::Generate_StoreGlobalICBaseline( 96 compiler::CodeAssemblerState* state) { 97 AccessorAssembler assembler(state); 98 assembler.GenerateStoreGlobalICBaseline(); 99 } Generate_StoreIC(compiler::CodeAssemblerState * state)100void Builtins::Generate_StoreIC(compiler::CodeAssemblerState* state) { 101 AccessorAssembler assembler(state); 102 assembler.GenerateStoreIC(); 103 } Generate_StoreICTrampoline(compiler::CodeAssemblerState * state)104void Builtins::Generate_StoreICTrampoline(compiler::CodeAssemblerState* state) { 105 AccessorAssembler assembler(state); 106 assembler.GenerateStoreICTrampoline(); 107 } Generate_StoreICBaseline(compiler::CodeAssemblerState * state)108void Builtins::Generate_StoreICBaseline(compiler::CodeAssemblerState* state) { 109 AccessorAssembler assembler(state); 110 assembler.GenerateStoreICBaseline(); 111 } Generate_DefineNamedOwnIC(compiler::CodeAssemblerState * state)112void Builtins::Generate_DefineNamedOwnIC(compiler::CodeAssemblerState* state) { 113 AccessorAssembler assembler(state); 114 assembler.GenerateDefineNamedOwnIC(); 115 } Generate_DefineNamedOwnICTrampoline(compiler::CodeAssemblerState * state)116void Builtins::Generate_DefineNamedOwnICTrampoline( 117 compiler::CodeAssemblerState* state) { 118 AccessorAssembler assembler(state); 119 assembler.GenerateDefineNamedOwnICTrampoline(); 120 } Generate_DefineNamedOwnICBaseline(compiler::CodeAssemblerState * state)121void Builtins::Generate_DefineNamedOwnICBaseline( 122 compiler::CodeAssemblerState* state) { 123 AccessorAssembler assembler(state); 124 assembler.GenerateDefineNamedOwnICBaseline(); 125 } Generate_KeyedStoreIC(compiler::CodeAssemblerState * state)126void Builtins::Generate_KeyedStoreIC(compiler::CodeAssemblerState* state) { 127 AccessorAssembler assembler(state); 128 assembler.GenerateKeyedStoreIC(); 129 } Generate_KeyedStoreICTrampoline(compiler::CodeAssemblerState * state)130void Builtins::Generate_KeyedStoreICTrampoline( 131 compiler::CodeAssemblerState* state) { 132 AccessorAssembler assembler(state); 133 assembler.GenerateKeyedStoreICTrampoline(); 134 } Generate_KeyedStoreICBaseline(compiler::CodeAssemblerState * state)135void Builtins::Generate_KeyedStoreICBaseline( 136 compiler::CodeAssemblerState* state) { 137 AccessorAssembler assembler(state); 138 assembler.GenerateKeyedStoreICBaseline(); 139 } Generate_DefineKeyedOwnIC(compiler::CodeAssemblerState * state)140void Builtins::Generate_DefineKeyedOwnIC(compiler::CodeAssemblerState* state) { 141 AccessorAssembler assembler(state); 142 assembler.GenerateDefineKeyedOwnIC(); 143 } Generate_DefineKeyedOwnICTrampoline(compiler::CodeAssemblerState * state)144void Builtins::Generate_DefineKeyedOwnICTrampoline( 145 compiler::CodeAssemblerState* state) { 146 AccessorAssembler assembler(state); 147 assembler.GenerateDefineKeyedOwnICTrampoline(); 148 } Generate_DefineKeyedOwnICBaseline(compiler::CodeAssemblerState * state)149void Builtins::Generate_DefineKeyedOwnICBaseline( 150 compiler::CodeAssemblerState* state) { 151 AccessorAssembler assembler(state); 152 assembler.GenerateDefineKeyedOwnICBaseline(); 153 } Generate_StoreInArrayLiteralIC(compiler::CodeAssemblerState * state)154void Builtins::Generate_StoreInArrayLiteralIC( 155 compiler::CodeAssemblerState* state) { 156 AccessorAssembler assembler(state); 157 assembler.GenerateStoreInArrayLiteralIC(); 158 } Generate_StoreInArrayLiteralICBaseline(compiler::CodeAssemblerState * state)159void Builtins::Generate_StoreInArrayLiteralICBaseline( 160 compiler::CodeAssemblerState* state) { 161 AccessorAssembler assembler(state); 162 assembler.GenerateStoreInArrayLiteralICBaseline(); 163 } Generate_CloneObjectIC(compiler::CodeAssemblerState * state)164void Builtins::Generate_CloneObjectIC(compiler::CodeAssemblerState* state) { 165 AccessorAssembler assembler(state); 166 assembler.GenerateCloneObjectIC(); 167 } Generate_CloneObjectICBaseline(compiler::CodeAssemblerState * state)168void Builtins::Generate_CloneObjectICBaseline( 169 compiler::CodeAssemblerState* state) { 170 AccessorAssembler assembler(state); 171 assembler.GenerateCloneObjectICBaseline(); 172 } Generate_CloneObjectIC_Slow(compiler::CodeAssemblerState * state)173void Builtins::Generate_CloneObjectIC_Slow( 174 compiler::CodeAssemblerState* state) { 175 AccessorAssembler assembler(state); 176 assembler.GenerateCloneObjectIC_Slow(); 177 } Generate_KeyedHasIC(compiler::CodeAssemblerState * state)178void Builtins::Generate_KeyedHasIC(compiler::CodeAssemblerState* state) { 179 AccessorAssembler assembler(state); 180 assembler.GenerateKeyedHasIC(); 181 } Generate_KeyedHasICBaseline(compiler::CodeAssemblerState * state)182void Builtins::Generate_KeyedHasICBaseline( 183 compiler::CodeAssemblerState* state) { 184 AccessorAssembler assembler(state); 185 assembler.GenerateKeyedHasICBaseline(); 186 } Generate_KeyedHasIC_Megamorphic(compiler::CodeAssemblerState * state)187void Builtins::Generate_KeyedHasIC_Megamorphic( 188 compiler::CodeAssemblerState* state) { 189 AccessorAssembler assembler(state); 190 assembler.GenerateKeyedHasIC_Megamorphic(); 191 } Generate_KeyedHasIC_PolymorphicName(compiler::CodeAssemblerState * state)192void Builtins::Generate_KeyedHasIC_PolymorphicName( 193 compiler::CodeAssemblerState* state) { 194 AccessorAssembler assembler(state); 195 assembler.GenerateKeyedHasIC_PolymorphicName(); 196 } 197 Generate_LoadGlobalIC(compiler::CodeAssemblerState * state)198void Builtins::Generate_LoadGlobalIC(compiler::CodeAssemblerState* state) { 199 AccessorAssembler assembler(state); 200 assembler.GenerateLoadGlobalIC(TypeofMode::kNotInside); 201 } 202 Generate_LoadGlobalICInsideTypeof(compiler::CodeAssemblerState * state)203void Builtins::Generate_LoadGlobalICInsideTypeof( 204 compiler::CodeAssemblerState* state) { 205 AccessorAssembler assembler(state); 206 assembler.GenerateLoadGlobalIC(TypeofMode::kInside); 207 } 208 Generate_LoadGlobalICTrampoline(compiler::CodeAssemblerState * state)209void Builtins::Generate_LoadGlobalICTrampoline( 210 compiler::CodeAssemblerState* state) { 211 AccessorAssembler assembler(state); 212 assembler.GenerateLoadGlobalICTrampoline(TypeofMode::kNotInside); 213 } 214 Generate_LoadGlobalICInsideTypeofTrampoline(compiler::CodeAssemblerState * state)215void Builtins::Generate_LoadGlobalICInsideTypeofTrampoline( 216 compiler::CodeAssemblerState* state) { 217 AccessorAssembler assembler(state); 218 assembler.GenerateLoadGlobalICTrampoline(TypeofMode::kInside); 219 } 220 Generate_LoadGlobalICBaseline(compiler::CodeAssemblerState * state)221void Builtins::Generate_LoadGlobalICBaseline( 222 compiler::CodeAssemblerState* state) { 223 AccessorAssembler assembler(state); 224 assembler.GenerateLoadGlobalICBaseline(TypeofMode::kNotInside); 225 } 226 Generate_LoadGlobalICInsideTypeofBaseline(compiler::CodeAssemblerState * state)227void Builtins::Generate_LoadGlobalICInsideTypeofBaseline( 228 compiler::CodeAssemblerState* state) { 229 AccessorAssembler assembler(state); 230 assembler.GenerateLoadGlobalICBaseline(TypeofMode::kInside); 231 } 232 Generate_LookupGlobalICBaseline(compiler::CodeAssemblerState * state)233void Builtins::Generate_LookupGlobalICBaseline( 234 compiler::CodeAssemblerState* state) { 235 AccessorAssembler assembler(state); 236 assembler.GenerateLookupGlobalICBaseline(TypeofMode::kNotInside); 237 } 238 Generate_LookupGlobalICInsideTypeofBaseline(compiler::CodeAssemblerState * state)239void Builtins::Generate_LookupGlobalICInsideTypeofBaseline( 240 compiler::CodeAssemblerState* state) { 241 AccessorAssembler assembler(state); 242 assembler.GenerateLookupGlobalICBaseline(TypeofMode::kInside); 243 } 244 Generate_LookupContextBaseline(compiler::CodeAssemblerState * state)245void Builtins::Generate_LookupContextBaseline( 246 compiler::CodeAssemblerState* state) { 247 AccessorAssembler assembler(state); 248 assembler.GenerateLookupContextBaseline(TypeofMode::kNotInside); 249 } 250 Generate_LookupContextInsideTypeofBaseline(compiler::CodeAssemblerState * state)251void Builtins::Generate_LookupContextInsideTypeofBaseline( 252 compiler::CodeAssemblerState* state) { 253 AccessorAssembler assembler(state); 254 assembler.GenerateLookupContextBaseline(TypeofMode::kInside); 255 } 256 257 } // namespace internal 258 } // namespace v8 259