OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_COMPILER_INSTRUCTION_SELECTOR_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 Zone* instruction_zone() const { return sequence()->zone(); } | 382 Zone* instruction_zone() const { return sequence()->zone(); } |
383 Zone* zone() const { return zone_; } | 383 Zone* zone() const { return zone_; } |
384 | 384 |
385 void set_instruction_selection_failed() { | 385 void set_instruction_selection_failed() { |
386 instruction_selection_failed_ = true; | 386 instruction_selection_failed_ = true; |
387 } | 387 } |
388 bool instruction_selection_failed() { return instruction_selection_failed_; } | 388 bool instruction_selection_failed() { return instruction_selection_failed_; } |
389 | 389 |
390 void MarkPairProjectionsAsWord32(Node* node); | 390 void MarkPairProjectionsAsWord32(Node* node); |
391 bool IsSourcePositionUsed(Node* node); | 391 bool IsSourcePositionUsed(Node* node); |
| 392 void VisitAtomicBinaryOperation(Node* node, ArchOpcode int8_op, |
| 393 ArchOpcode uint8_op, ArchOpcode int16_op, |
| 394 ArchOpcode uint16_op, ArchOpcode word32_op); |
392 | 395 |
393 // =========================================================================== | 396 // =========================================================================== |
394 | 397 |
395 Zone* const zone_; | 398 Zone* const zone_; |
396 Linkage* const linkage_; | 399 Linkage* const linkage_; |
397 InstructionSequence* const sequence_; | 400 InstructionSequence* const sequence_; |
398 SourcePositionTable* const source_positions_; | 401 SourcePositionTable* const source_positions_; |
399 SourcePositionMode const source_position_mode_; | 402 SourcePositionMode const source_position_mode_; |
400 Features features_; | 403 Features features_; |
401 Schedule* const schedule_; | 404 Schedule* const schedule_; |
402 BasicBlock* current_block_; | 405 BasicBlock* current_block_; |
403 ZoneVector<Instruction*> instructions_; | 406 ZoneVector<Instruction*> instructions_; |
404 BoolVector defined_; | 407 BoolVector defined_; |
405 BoolVector used_; | 408 BoolVector used_; |
406 IntVector effect_level_; | 409 IntVector effect_level_; |
407 IntVector virtual_registers_; | 410 IntVector virtual_registers_; |
408 IntVector virtual_register_rename_; | 411 IntVector virtual_register_rename_; |
409 InstructionScheduler* scheduler_; | 412 InstructionScheduler* scheduler_; |
410 EnableScheduling enable_scheduling_; | 413 EnableScheduling enable_scheduling_; |
411 EnableSerialization enable_serialization_; | 414 EnableSerialization enable_serialization_; |
412 Frame* frame_; | 415 Frame* frame_; |
413 bool instruction_selection_failed_; | 416 bool instruction_selection_failed_; |
414 }; | 417 }; |
415 | 418 |
416 } // namespace compiler | 419 } // namespace compiler |
417 } // namespace internal | 420 } // namespace internal |
418 } // namespace v8 | 421 } // namespace v8 |
419 | 422 |
420 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 423 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |