| 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 |