OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 | 70 |
71 static void GenerateHashGetHash(MacroAssembler* masm, | 71 static void GenerateHashGetHash(MacroAssembler* masm, |
72 Register hash, | 72 Register hash, |
73 Register scratch); | 73 Register scratch); |
74 | 74 |
75 private: | 75 private: |
76 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper); | 76 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper); |
77 }; | 77 }; |
78 | 78 |
79 | 79 |
| 80 class StoreRegistersStateStub: public PlatformCodeStub { |
| 81 public: |
| 82 explicit StoreRegistersStateStub(SaveFPRegsMode with_fp) |
| 83 : save_doubles_(with_fp) {} |
| 84 |
| 85 static Register to_be_pushed_lr() { return ip0; } |
| 86 static void GenerateAheadOfTime(Isolate* isolate); |
| 87 private: |
| 88 Major MajorKey() { return StoreRegistersState; } |
| 89 int MinorKey() { return (save_doubles_ == kSaveFPRegs) ? 1 : 0; } |
| 90 SaveFPRegsMode save_doubles_; |
| 91 |
| 92 void Generate(MacroAssembler* masm); |
| 93 }; |
| 94 |
| 95 |
| 96 class RestoreRegistersStateStub: public PlatformCodeStub { |
| 97 public: |
| 98 explicit RestoreRegistersStateStub(SaveFPRegsMode with_fp) |
| 99 : save_doubles_(with_fp) {} |
| 100 |
| 101 static void GenerateAheadOfTime(Isolate* isolate); |
| 102 private: |
| 103 Major MajorKey() { return RestoreRegistersState; } |
| 104 int MinorKey() { return (save_doubles_ == kSaveFPRegs) ? 1 : 0; } |
| 105 SaveFPRegsMode save_doubles_; |
| 106 |
| 107 void Generate(MacroAssembler* masm); |
| 108 }; |
| 109 |
| 110 |
80 class RecordWriteStub: public PlatformCodeStub { | 111 class RecordWriteStub: public PlatformCodeStub { |
81 public: | 112 public: |
82 // Stub to record the write of 'value' at 'address' in 'object'. | 113 // Stub to record the write of 'value' at 'address' in 'object'. |
83 // Typically 'address' = 'object' + <some offset>. | 114 // Typically 'address' = 'object' + <some offset>. |
84 // See MacroAssembler::RecordWriteField() for example. | 115 // See MacroAssembler::RecordWriteField() for example. |
85 RecordWriteStub(Register object, | 116 RecordWriteStub(Register object, |
86 Register value, | 117 Register value, |
87 Register address, | 118 Register address, |
88 RememberedSetAction remembered_set_action, | 119 RememberedSetAction remembered_set_action, |
89 SaveFPRegsMode fp_mode) | 120 SaveFPRegsMode fp_mode) |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 TargetAddressStorageMode storage_mode() { return storage_mode_; } | 491 TargetAddressStorageMode storage_mode() { return storage_mode_; } |
461 | 492 |
462 private: | 493 private: |
463 TargetAddressStorageMode storage_mode_; | 494 TargetAddressStorageMode storage_mode_; |
464 }; | 495 }; |
465 | 496 |
466 | 497 |
467 } } // namespace v8::internal | 498 } } // namespace v8::internal |
468 | 499 |
469 #endif // V8_ARM64_CODE_STUBS_ARM64_H_ | 500 #endif // V8_ARM64_CODE_STUBS_ARM64_H_ |
OLD | NEW |