11cb0ef41Sopenharmony_ci// Copyright 2016 the V8 project authors. All rights reserved. 21cb0ef41Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be 31cb0ef41Sopenharmony_ci// found in the LICENSE file. 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ci#include "src/builtins/builtins-utils-gen.h" 61cb0ef41Sopenharmony_ci#include "src/builtins/builtins.h" 71cb0ef41Sopenharmony_ci#include "src/codegen/code-stub-assembler.h" 81cb0ef41Sopenharmony_ci#include "src/ic/accessor-assembler.h" 91cb0ef41Sopenharmony_ci 101cb0ef41Sopenharmony_cinamespace v8 { 111cb0ef41Sopenharmony_cinamespace internal { 121cb0ef41Sopenharmony_ci 131cb0ef41Sopenharmony_civoid Builtins::Generate_LoadIC(compiler::CodeAssemblerState* state) { 141cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 151cb0ef41Sopenharmony_ci assembler.GenerateLoadIC(); 161cb0ef41Sopenharmony_ci} 171cb0ef41Sopenharmony_civoid Builtins::Generate_LoadIC_Megamorphic( 181cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 191cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 201cb0ef41Sopenharmony_ci assembler.GenerateLoadIC_Megamorphic(); 211cb0ef41Sopenharmony_ci} 221cb0ef41Sopenharmony_civoid Builtins::Generate_LoadIC_Noninlined(compiler::CodeAssemblerState* state) { 231cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 241cb0ef41Sopenharmony_ci assembler.GenerateLoadIC_Noninlined(); 251cb0ef41Sopenharmony_ci} 261cb0ef41Sopenharmony_civoid Builtins::Generate_LoadIC_NoFeedback(compiler::CodeAssemblerState* state) { 271cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 281cb0ef41Sopenharmony_ci assembler.GenerateLoadIC_NoFeedback(); 291cb0ef41Sopenharmony_ci} 301cb0ef41Sopenharmony_civoid Builtins::Generate_LoadICTrampoline(compiler::CodeAssemblerState* state) { 311cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 321cb0ef41Sopenharmony_ci assembler.GenerateLoadICTrampoline(); 331cb0ef41Sopenharmony_ci} 341cb0ef41Sopenharmony_civoid Builtins::Generate_LoadICBaseline(compiler::CodeAssemblerState* state) { 351cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 361cb0ef41Sopenharmony_ci assembler.GenerateLoadICBaseline(); 371cb0ef41Sopenharmony_ci} 381cb0ef41Sopenharmony_civoid Builtins::Generate_LoadICTrampoline_Megamorphic( 391cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 401cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 411cb0ef41Sopenharmony_ci assembler.GenerateLoadICTrampoline_Megamorphic(); 421cb0ef41Sopenharmony_ci} 431cb0ef41Sopenharmony_civoid Builtins::Generate_LoadSuperIC(compiler::CodeAssemblerState* state) { 441cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 451cb0ef41Sopenharmony_ci assembler.GenerateLoadSuperIC(); 461cb0ef41Sopenharmony_ci} 471cb0ef41Sopenharmony_civoid Builtins::Generate_LoadSuperICBaseline( 481cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 491cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 501cb0ef41Sopenharmony_ci assembler.GenerateLoadSuperICBaseline(); 511cb0ef41Sopenharmony_ci} 521cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedLoadIC(compiler::CodeAssemblerState* state) { 531cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 541cb0ef41Sopenharmony_ci assembler.GenerateKeyedLoadIC(); 551cb0ef41Sopenharmony_ci} 561cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedLoadIC_Megamorphic( 571cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 581cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 591cb0ef41Sopenharmony_ci assembler.GenerateKeyedLoadIC_Megamorphic(); 601cb0ef41Sopenharmony_ci} 611cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedLoadIC_PolymorphicName( 621cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 631cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 641cb0ef41Sopenharmony_ci assembler.GenerateKeyedLoadIC_PolymorphicName(); 651cb0ef41Sopenharmony_ci} 661cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedLoadICTrampoline( 671cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 681cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 691cb0ef41Sopenharmony_ci assembler.GenerateKeyedLoadICTrampoline(); 701cb0ef41Sopenharmony_ci} 711cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedLoadICBaseline( 721cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 731cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 741cb0ef41Sopenharmony_ci assembler.GenerateKeyedLoadICBaseline(); 751cb0ef41Sopenharmony_ci} 761cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedLoadICTrampoline_Megamorphic( 771cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 781cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 791cb0ef41Sopenharmony_ci assembler.GenerateKeyedLoadICTrampoline_Megamorphic(); 801cb0ef41Sopenharmony_ci} 811cb0ef41Sopenharmony_civoid Builtins::Generate_LoadGlobalIC_NoFeedback( 821cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 831cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 841cb0ef41Sopenharmony_ci assembler.GenerateLoadGlobalIC_NoFeedback(); 851cb0ef41Sopenharmony_ci} 861cb0ef41Sopenharmony_civoid Builtins::Generate_StoreGlobalIC(compiler::CodeAssemblerState* state) { 871cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 881cb0ef41Sopenharmony_ci assembler.GenerateStoreGlobalIC(); 891cb0ef41Sopenharmony_ci} 901cb0ef41Sopenharmony_civoid Builtins::Generate_StoreGlobalICTrampoline( 911cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 921cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 931cb0ef41Sopenharmony_ci assembler.GenerateStoreGlobalICTrampoline(); 941cb0ef41Sopenharmony_ci} 951cb0ef41Sopenharmony_civoid Builtins::Generate_StoreGlobalICBaseline( 961cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 971cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 981cb0ef41Sopenharmony_ci assembler.GenerateStoreGlobalICBaseline(); 991cb0ef41Sopenharmony_ci} 1001cb0ef41Sopenharmony_civoid Builtins::Generate_StoreIC(compiler::CodeAssemblerState* state) { 1011cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1021cb0ef41Sopenharmony_ci assembler.GenerateStoreIC(); 1031cb0ef41Sopenharmony_ci} 1041cb0ef41Sopenharmony_civoid Builtins::Generate_StoreICTrampoline(compiler::CodeAssemblerState* state) { 1051cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1061cb0ef41Sopenharmony_ci assembler.GenerateStoreICTrampoline(); 1071cb0ef41Sopenharmony_ci} 1081cb0ef41Sopenharmony_civoid Builtins::Generate_StoreICBaseline(compiler::CodeAssemblerState* state) { 1091cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1101cb0ef41Sopenharmony_ci assembler.GenerateStoreICBaseline(); 1111cb0ef41Sopenharmony_ci} 1121cb0ef41Sopenharmony_civoid Builtins::Generate_DefineNamedOwnIC(compiler::CodeAssemblerState* state) { 1131cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1141cb0ef41Sopenharmony_ci assembler.GenerateDefineNamedOwnIC(); 1151cb0ef41Sopenharmony_ci} 1161cb0ef41Sopenharmony_civoid Builtins::Generate_DefineNamedOwnICTrampoline( 1171cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1181cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1191cb0ef41Sopenharmony_ci assembler.GenerateDefineNamedOwnICTrampoline(); 1201cb0ef41Sopenharmony_ci} 1211cb0ef41Sopenharmony_civoid Builtins::Generate_DefineNamedOwnICBaseline( 1221cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1231cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1241cb0ef41Sopenharmony_ci assembler.GenerateDefineNamedOwnICBaseline(); 1251cb0ef41Sopenharmony_ci} 1261cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedStoreIC(compiler::CodeAssemblerState* state) { 1271cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1281cb0ef41Sopenharmony_ci assembler.GenerateKeyedStoreIC(); 1291cb0ef41Sopenharmony_ci} 1301cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedStoreICTrampoline( 1311cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1321cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1331cb0ef41Sopenharmony_ci assembler.GenerateKeyedStoreICTrampoline(); 1341cb0ef41Sopenharmony_ci} 1351cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedStoreICBaseline( 1361cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1371cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1381cb0ef41Sopenharmony_ci assembler.GenerateKeyedStoreICBaseline(); 1391cb0ef41Sopenharmony_ci} 1401cb0ef41Sopenharmony_civoid Builtins::Generate_DefineKeyedOwnIC(compiler::CodeAssemblerState* state) { 1411cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1421cb0ef41Sopenharmony_ci assembler.GenerateDefineKeyedOwnIC(); 1431cb0ef41Sopenharmony_ci} 1441cb0ef41Sopenharmony_civoid Builtins::Generate_DefineKeyedOwnICTrampoline( 1451cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1461cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1471cb0ef41Sopenharmony_ci assembler.GenerateDefineKeyedOwnICTrampoline(); 1481cb0ef41Sopenharmony_ci} 1491cb0ef41Sopenharmony_civoid Builtins::Generate_DefineKeyedOwnICBaseline( 1501cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1511cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1521cb0ef41Sopenharmony_ci assembler.GenerateDefineKeyedOwnICBaseline(); 1531cb0ef41Sopenharmony_ci} 1541cb0ef41Sopenharmony_civoid Builtins::Generate_StoreInArrayLiteralIC( 1551cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1561cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1571cb0ef41Sopenharmony_ci assembler.GenerateStoreInArrayLiteralIC(); 1581cb0ef41Sopenharmony_ci} 1591cb0ef41Sopenharmony_civoid Builtins::Generate_StoreInArrayLiteralICBaseline( 1601cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1611cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1621cb0ef41Sopenharmony_ci assembler.GenerateStoreInArrayLiteralICBaseline(); 1631cb0ef41Sopenharmony_ci} 1641cb0ef41Sopenharmony_civoid Builtins::Generate_CloneObjectIC(compiler::CodeAssemblerState* state) { 1651cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1661cb0ef41Sopenharmony_ci assembler.GenerateCloneObjectIC(); 1671cb0ef41Sopenharmony_ci} 1681cb0ef41Sopenharmony_civoid Builtins::Generate_CloneObjectICBaseline( 1691cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1701cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1711cb0ef41Sopenharmony_ci assembler.GenerateCloneObjectICBaseline(); 1721cb0ef41Sopenharmony_ci} 1731cb0ef41Sopenharmony_civoid Builtins::Generate_CloneObjectIC_Slow( 1741cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1751cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1761cb0ef41Sopenharmony_ci assembler.GenerateCloneObjectIC_Slow(); 1771cb0ef41Sopenharmony_ci} 1781cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedHasIC(compiler::CodeAssemblerState* state) { 1791cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1801cb0ef41Sopenharmony_ci assembler.GenerateKeyedHasIC(); 1811cb0ef41Sopenharmony_ci} 1821cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedHasICBaseline( 1831cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1841cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1851cb0ef41Sopenharmony_ci assembler.GenerateKeyedHasICBaseline(); 1861cb0ef41Sopenharmony_ci} 1871cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedHasIC_Megamorphic( 1881cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1891cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1901cb0ef41Sopenharmony_ci assembler.GenerateKeyedHasIC_Megamorphic(); 1911cb0ef41Sopenharmony_ci} 1921cb0ef41Sopenharmony_civoid Builtins::Generate_KeyedHasIC_PolymorphicName( 1931cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 1941cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 1951cb0ef41Sopenharmony_ci assembler.GenerateKeyedHasIC_PolymorphicName(); 1961cb0ef41Sopenharmony_ci} 1971cb0ef41Sopenharmony_ci 1981cb0ef41Sopenharmony_civoid Builtins::Generate_LoadGlobalIC(compiler::CodeAssemblerState* state) { 1991cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2001cb0ef41Sopenharmony_ci assembler.GenerateLoadGlobalIC(TypeofMode::kNotInside); 2011cb0ef41Sopenharmony_ci} 2021cb0ef41Sopenharmony_ci 2031cb0ef41Sopenharmony_civoid Builtins::Generate_LoadGlobalICInsideTypeof( 2041cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2051cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2061cb0ef41Sopenharmony_ci assembler.GenerateLoadGlobalIC(TypeofMode::kInside); 2071cb0ef41Sopenharmony_ci} 2081cb0ef41Sopenharmony_ci 2091cb0ef41Sopenharmony_civoid Builtins::Generate_LoadGlobalICTrampoline( 2101cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2111cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2121cb0ef41Sopenharmony_ci assembler.GenerateLoadGlobalICTrampoline(TypeofMode::kNotInside); 2131cb0ef41Sopenharmony_ci} 2141cb0ef41Sopenharmony_ci 2151cb0ef41Sopenharmony_civoid Builtins::Generate_LoadGlobalICInsideTypeofTrampoline( 2161cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2171cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2181cb0ef41Sopenharmony_ci assembler.GenerateLoadGlobalICTrampoline(TypeofMode::kInside); 2191cb0ef41Sopenharmony_ci} 2201cb0ef41Sopenharmony_ci 2211cb0ef41Sopenharmony_civoid Builtins::Generate_LoadGlobalICBaseline( 2221cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2231cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2241cb0ef41Sopenharmony_ci assembler.GenerateLoadGlobalICBaseline(TypeofMode::kNotInside); 2251cb0ef41Sopenharmony_ci} 2261cb0ef41Sopenharmony_ci 2271cb0ef41Sopenharmony_civoid Builtins::Generate_LoadGlobalICInsideTypeofBaseline( 2281cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2291cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2301cb0ef41Sopenharmony_ci assembler.GenerateLoadGlobalICBaseline(TypeofMode::kInside); 2311cb0ef41Sopenharmony_ci} 2321cb0ef41Sopenharmony_ci 2331cb0ef41Sopenharmony_civoid Builtins::Generate_LookupGlobalICBaseline( 2341cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2351cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2361cb0ef41Sopenharmony_ci assembler.GenerateLookupGlobalICBaseline(TypeofMode::kNotInside); 2371cb0ef41Sopenharmony_ci} 2381cb0ef41Sopenharmony_ci 2391cb0ef41Sopenharmony_civoid Builtins::Generate_LookupGlobalICInsideTypeofBaseline( 2401cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2411cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2421cb0ef41Sopenharmony_ci assembler.GenerateLookupGlobalICBaseline(TypeofMode::kInside); 2431cb0ef41Sopenharmony_ci} 2441cb0ef41Sopenharmony_ci 2451cb0ef41Sopenharmony_civoid Builtins::Generate_LookupContextBaseline( 2461cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2471cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2481cb0ef41Sopenharmony_ci assembler.GenerateLookupContextBaseline(TypeofMode::kNotInside); 2491cb0ef41Sopenharmony_ci} 2501cb0ef41Sopenharmony_ci 2511cb0ef41Sopenharmony_civoid Builtins::Generate_LookupContextInsideTypeofBaseline( 2521cb0ef41Sopenharmony_ci compiler::CodeAssemblerState* state) { 2531cb0ef41Sopenharmony_ci AccessorAssembler assembler(state); 2541cb0ef41Sopenharmony_ci assembler.GenerateLookupContextBaseline(TypeofMode::kInside); 2551cb0ef41Sopenharmony_ci} 2561cb0ef41Sopenharmony_ci 2571cb0ef41Sopenharmony_ci} // namespace internal 2581cb0ef41Sopenharmony_ci} // namespace v8 259