1 // Copyright 2022 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 #ifndef V8_CODEGEN_IA32_REGLIST_IA32_H_ 6 #define V8_CODEGEN_IA32_REGLIST_IA32_H_ 7 8 #include "src/codegen/register-arch.h" 9 #include "src/codegen/reglist-base.h" 10 11 namespace v8 { 12 namespace internal { 13 14 using RegList = RegListBase<Register>; 15 using DoubleRegList = RegListBase<DoubleRegister>; 16 ASSERT_TRIVIALLY_COPYABLE(RegList); 17 ASSERT_TRIVIALLY_COPYABLE(DoubleRegList); 18 19 // Caller-saved registers 20 constexpr RegList kJSCallerSaved = { 21 eax, ecx, edx, 22 ebx, // used as caller-saved register in JavaScript code 23 edi}; // callee function 24 25 constexpr int kNumJSCallerSaved = 5; 26 27 } // namespace internal 28 } // namespace v8 29 30 #endif // V8_CODEGEN_IA32_REGLIST_IA32_H_ 31