| Index: src/compiler/arm64/linkage-arm64.cc
|
| diff --git a/src/compiler/arm64/linkage-arm64.cc b/src/compiler/arm64/linkage-arm64.cc
|
| index 745eb5cde694cc676552b9f32cb42cd84e33ea87..43ae9b909ffec9c9ee7501d376c8ae39cd76993f 100644
|
| --- a/src/compiler/arm64/linkage-arm64.cc
|
| +++ b/src/compiler/arm64/linkage-arm64.cc
|
| @@ -20,8 +20,15 @@ struct Arm64LinkageHelperTraits {
|
| static Register RuntimeCallFunctionReg() { return x1; }
|
| static Register RuntimeCallArgCountReg() { return x0; }
|
| static RegList CCalleeSaveRegisters() {
|
| - // TODO(dcarney): correct callee saved registers.
|
| - return 0;
|
| + return (1 << x19.code()) | (1 << x20.code()) | (1 << x21.code()) |
|
| + (1 << x22.code()) | (1 << x23.code()) | (1 << x24.code()) |
|
| + (1 << x25.code()) | (1 << x26.code()) | (1 << x27.code()) |
|
| + (1 << x28.code()) | (1 << x29.code()) | (1 << x30.code());
|
| + }
|
| + static RegList CCalleeSaveFPRegisters() {
|
| + return (1 << d8.code()) | (1 << d9.code()) | (1 << d10.code()) |
|
| + (1 << d11.code()) | (1 << d12.code()) | (1 << d13.code()) |
|
| + (1 << d14.code()) | (1 << d15.code());
|
| }
|
| static Register CRegisterParameter(int i) {
|
| static Register register_parameters[] = {x0, x1, x2, x3, x4, x5, x6, x7};
|
|
|