| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_IA32_CODE_STUBS_IA32_H_ | 5 #ifndef V8_IA32_CODE_STUBS_IA32_H_ |
| 6 #define V8_IA32_CODE_STUBS_IA32_H_ | 6 #define V8_IA32_CODE_STUBS_IA32_H_ |
| 7 | 7 |
| 8 #include "macro-assembler.h" | 8 #include "macro-assembler.h" |
| 9 #include "ic-inl.h" | 9 #include "ic-inl.h" |
| 10 | 10 |
| 11 namespace v8 { | 11 namespace v8 { |
| 12 namespace internal { | 12 namespace internal { |
| 13 | 13 |
| 14 | 14 |
| 15 void ArrayNativeCode(MacroAssembler* masm, | 15 void ArrayNativeCode(MacroAssembler* masm, |
| 16 bool construct_call, | 16 bool construct_call, |
| 17 Label* call_generic_code); | 17 Label* call_generic_code); |
| 18 | 18 |
| 19 | 19 |
| 20 class StoreBufferOverflowStub: public PlatformCodeStub { | 20 class StoreBufferOverflowStub: public PlatformCodeStub { |
| 21 public: | 21 public: |
| 22 StoreBufferOverflowStub(Isolate* isolate, SaveFPRegsMode save_fp) | 22 StoreBufferOverflowStub(Isolate* isolate, SaveFPRegsMode save_fp) |
| 23 : PlatformCodeStub(isolate), save_doubles_(save_fp) { | 23 : PlatformCodeStub(isolate), save_doubles_(save_fp) { |
| 24 ASSERT(CpuFeatures::IsSafeForSnapshot(SSE2) || save_fp == kDontSaveFPRegs); | 24 ASSERT(CpuFeatures::IsSafeForSnapshot(isolate, SSE2) || |
| 25 save_fp == kDontSaveFPRegs); |
| 25 } | 26 } |
| 26 | 27 |
| 27 void Generate(MacroAssembler* masm); | 28 void Generate(MacroAssembler* masm); |
| 28 | 29 |
| 29 static void GenerateFixedRegStubsAheadOfTime(Isolate* isolate); | 30 static void GenerateFixedRegStubsAheadOfTime(Isolate* isolate); |
| 30 virtual bool SometimesSetsUpAFrame() { return false; } | 31 virtual bool SometimesSetsUpAFrame() { return false; } |
| 31 | 32 |
| 32 private: | 33 private: |
| 33 SaveFPRegsMode save_doubles_; | 34 SaveFPRegsMode save_doubles_; |
| 34 | 35 |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 SaveFPRegsMode fp_mode) | 190 SaveFPRegsMode fp_mode) |
| 190 : PlatformCodeStub(isolate), | 191 : PlatformCodeStub(isolate), |
| 191 object_(object), | 192 object_(object), |
| 192 value_(value), | 193 value_(value), |
| 193 address_(address), | 194 address_(address), |
| 194 remembered_set_action_(remembered_set_action), | 195 remembered_set_action_(remembered_set_action), |
| 195 save_fp_regs_mode_(fp_mode), | 196 save_fp_regs_mode_(fp_mode), |
| 196 regs_(object, // An input reg. | 197 regs_(object, // An input reg. |
| 197 address, // An input reg. | 198 address, // An input reg. |
| 198 value) { // One scratch reg. | 199 value) { // One scratch reg. |
| 199 ASSERT(CpuFeatures::IsSafeForSnapshot(SSE2) || fp_mode == kDontSaveFPRegs); | 200 ASSERT(CpuFeatures::IsSafeForSnapshot(isolate, SSE2) || |
| 201 fp_mode == kDontSaveFPRegs); |
| 200 } | 202 } |
| 201 | 203 |
| 202 enum Mode { | 204 enum Mode { |
| 203 STORE_BUFFER_ONLY, | 205 STORE_BUFFER_ONLY, |
| 204 INCREMENTAL, | 206 INCREMENTAL, |
| 205 INCREMENTAL_COMPACTION | 207 INCREMENTAL_COMPACTION |
| 206 }; | 208 }; |
| 207 | 209 |
| 208 virtual bool SometimesSetsUpAFrame() { return false; } | 210 virtual bool SometimesSetsUpAFrame() { return false; } |
| 209 | 211 |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 Register address_; | 437 Register address_; |
| 436 RememberedSetAction remembered_set_action_; | 438 RememberedSetAction remembered_set_action_; |
| 437 SaveFPRegsMode save_fp_regs_mode_; | 439 SaveFPRegsMode save_fp_regs_mode_; |
| 438 RegisterAllocation regs_; | 440 RegisterAllocation regs_; |
| 439 }; | 441 }; |
| 440 | 442 |
| 441 | 443 |
| 442 } } // namespace v8::internal | 444 } } // namespace v8::internal |
| 443 | 445 |
| 444 #endif // V8_IA32_CODE_STUBS_IA32_H_ | 446 #endif // V8_IA32_CODE_STUBS_IA32_H_ |
| OLD | NEW |