%PDF- %PDF-
Direktori : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/deps/v8/src/codegen/ppc/ |
Current File : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/deps/v8/src/codegen/ppc/reglist-ppc.h |
// Copyright 2022 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_CODEGEN_PPC_REGLIST_PPC_H_ #define V8_CODEGEN_PPC_REGLIST_PPC_H_ #include "src/codegen/register-arch.h" #include "src/codegen/reglist-base.h" namespace v8 { namespace internal { using RegList = RegListBase<Register>; using DoubleRegList = RegListBase<DoubleRegister>; using Simd128RegList = RegListBase<Simd128Register>; ASSERT_TRIVIALLY_COPYABLE(RegList); ASSERT_TRIVIALLY_COPYABLE(DoubleRegList); // Register list in load/store instructions // Note that the bit values must match those used in actual instruction encoding // Caller-saved/arguments registers const RegList kJSCallerSaved = {r3, // a1 r4, // a2 r5, // a3 r6, // a4 r7, // a5 r8, // a6 r9, // a7 r10, // a8 r11}; const int kNumJSCallerSaved = 9; // Return the code of the n-th caller-saved register available to JavaScript // e.g. JSCallerSavedReg(0) returns r0.code() == 0 int JSCallerSavedCode(int n); // Callee-saved registers preserved when switching from C to JavaScript const RegList kCalleeSaved = {r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, fp}; const int kNumCalleeSaved = 18; const DoubleRegList kCallerSavedDoubles = {d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13}; const Simd128RegList kCallerSavedSimd128s = {v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19}; const int kNumCallerSavedDoubles = 14; const DoubleRegList kCalleeSavedDoubles = {d14, d15, d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31}; const int kNumCalleeSavedDoubles = 18; } // namespace internal } // namespace v8 #endif // V8_CODEGEN_PPC_REGLIST_PPC_H_