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 |