| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 class LInstructionGap: public LGap { | 367 class LInstructionGap: public LGap { |
| 368 public: | 368 public: |
| 369 explicit LInstructionGap(HBasicBlock* block) : LGap(block) { } | 369 explicit LInstructionGap(HBasicBlock* block) : LGap(block) { } |
| 370 | 370 |
| 371 DECLARE_CONCRETE_INSTRUCTION(InstructionGap, "gap") | 371 DECLARE_CONCRETE_INSTRUCTION(InstructionGap, "gap") |
| 372 }; | 372 }; |
| 373 | 373 |
| 374 | 374 |
| 375 class LGoto: public LTemplateInstruction<0, 0, 0> { | 375 class LGoto: public LTemplateInstruction<0, 0, 0> { |
| 376 public: | 376 public: |
| 377 LGoto(int block_id, bool include_stack_check = false) | 377 explicit LGoto(int block_id) : block_id_(block_id) { } |
| 378 : block_id_(block_id), include_stack_check_(include_stack_check) { } | |
| 379 | 378 |
| 380 DECLARE_CONCRETE_INSTRUCTION(Goto, "goto") | 379 DECLARE_CONCRETE_INSTRUCTION(Goto, "goto") |
| 381 virtual void PrintDataTo(StringStream* stream); | 380 virtual void PrintDataTo(StringStream* stream); |
| 382 virtual bool IsControl() const { return true; } | 381 virtual bool IsControl() const { return true; } |
| 383 | 382 |
| 384 int block_id() const { return block_id_; } | 383 int block_id() const { return block_id_; } |
| 385 bool include_stack_check() const { return include_stack_check_; } | |
| 386 | 384 |
| 387 private: | 385 private: |
| 388 int block_id_; | 386 int block_id_; |
| 389 bool include_stack_check_; | |
| 390 }; | 387 }; |
| 391 | 388 |
| 392 | 389 |
| 393 class LLazyBailout: public LTemplateInstruction<0, 0, 0> { | 390 class LLazyBailout: public LTemplateInstruction<0, 0, 0> { |
| 394 public: | 391 public: |
| 395 LLazyBailout() : gap_instructions_size_(0) { } | 392 LLazyBailout() : gap_instructions_size_(0) { } |
| 396 | 393 |
| 397 DECLARE_CONCRETE_INSTRUCTION(LazyBailout, "lazy-bailout") | 394 DECLARE_CONCRETE_INSTRUCTION(LazyBailout, "lazy-bailout") |
| 398 | 395 |
| 399 void set_gap_instructions_size(int gap_instructions_size) { | 396 void set_gap_instructions_size(int gap_instructions_size) { |
| (...skipping 1680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2080 // NULL if the register has no assigned spill slot. Indexed by allocation | 2077 // NULL if the register has no assigned spill slot. Indexed by allocation |
| 2081 // index. | 2078 // index. |
| 2082 LOperand* register_spills_[Register::kNumAllocatableRegisters]; | 2079 LOperand* register_spills_[Register::kNumAllocatableRegisters]; |
| 2083 LOperand* double_register_spills_[DoubleRegister::kNumAllocatableRegisters]; | 2080 LOperand* double_register_spills_[DoubleRegister::kNumAllocatableRegisters]; |
| 2084 }; | 2081 }; |
| 2085 | 2082 |
| 2086 | 2083 |
| 2087 class LStackCheck: public LTemplateInstruction<0, 0, 0> { | 2084 class LStackCheck: public LTemplateInstruction<0, 0, 0> { |
| 2088 public: | 2085 public: |
| 2089 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") | 2086 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") |
| 2087 DECLARE_HYDROGEN_ACCESSOR(StackCheck) |
| 2088 |
| 2089 Label* done_label() { return &done_label_; } |
| 2090 |
| 2091 private: |
| 2092 Label done_label_; |
| 2090 }; | 2093 }; |
| 2091 | 2094 |
| 2092 | 2095 |
| 2093 class LChunkBuilder; | 2096 class LChunkBuilder; |
| 2094 class LChunk: public ZoneObject { | 2097 class LChunk: public ZoneObject { |
| 2095 public: | 2098 public: |
| 2096 explicit LChunk(CompilationInfo* info, HGraph* graph) | 2099 explicit LChunk(CompilationInfo* info, HGraph* graph) |
| 2097 : spill_slot_count_(0), | 2100 : spill_slot_count_(0), |
| 2098 info_(info), | 2101 info_(info), |
| 2099 graph_(graph), | 2102 graph_(graph), |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2311 | 2314 |
| 2312 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2315 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2313 }; | 2316 }; |
| 2314 | 2317 |
| 2315 #undef DECLARE_HYDROGEN_ACCESSOR | 2318 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2316 #undef DECLARE_CONCRETE_INSTRUCTION | 2319 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2317 | 2320 |
| 2318 } } // namespace v8::int | 2321 } } // namespace v8::int |
| 2319 | 2322 |
| 2320 #endif // V8_X64_LITHIUM_X64_H_ | 2323 #endif // V8_X64_LITHIUM_X64_H_ |
| OLD | NEW |