| 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 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 class LInstructionGap: public LGap { | 366 class LInstructionGap: public LGap { |
| 367 public: | 367 public: |
| 368 explicit LInstructionGap(HBasicBlock* block) : LGap(block) { } | 368 explicit LInstructionGap(HBasicBlock* block) : LGap(block) { } |
| 369 | 369 |
| 370 DECLARE_CONCRETE_INSTRUCTION(InstructionGap, "gap") | 370 DECLARE_CONCRETE_INSTRUCTION(InstructionGap, "gap") |
| 371 }; | 371 }; |
| 372 | 372 |
| 373 | 373 |
| 374 class LGoto: public LTemplateInstruction<0, 0, 0> { | 374 class LGoto: public LTemplateInstruction<0, 0, 0> { |
| 375 public: | 375 public: |
| 376 LGoto(int block_id, bool include_stack_check = false) | 376 explicit LGoto(int block_id) : block_id_(block_id) { } |
| 377 : block_id_(block_id), include_stack_check_(include_stack_check) { } | |
| 378 | 377 |
| 379 DECLARE_CONCRETE_INSTRUCTION(Goto, "goto") | 378 DECLARE_CONCRETE_INSTRUCTION(Goto, "goto") |
| 380 virtual void PrintDataTo(StringStream* stream); | 379 virtual void PrintDataTo(StringStream* stream); |
| 381 virtual bool IsControl() const { return true; } | 380 virtual bool IsControl() const { return true; } |
| 382 | 381 |
| 383 int block_id() const { return block_id_; } | 382 int block_id() const { return block_id_; } |
| 384 bool include_stack_check() const { return include_stack_check_; } | |
| 385 | 383 |
| 386 private: | 384 private: |
| 387 int block_id_; | 385 int block_id_; |
| 388 bool include_stack_check_; | |
| 389 }; | 386 }; |
| 390 | 387 |
| 391 | 388 |
| 392 class LLazyBailout: public LTemplateInstruction<0, 0, 0> { | 389 class LLazyBailout: public LTemplateInstruction<0, 0, 0> { |
| 393 public: | 390 public: |
| 394 LLazyBailout() : gap_instructions_size_(0) { } | 391 LLazyBailout() : gap_instructions_size_(0) { } |
| 395 | 392 |
| 396 DECLARE_CONCRETE_INSTRUCTION(LazyBailout, "lazy-bailout") | 393 DECLARE_CONCRETE_INSTRUCTION(LazyBailout, "lazy-bailout") |
| 397 | 394 |
| 398 void set_gap_instructions_size(int gap_instructions_size) { | 395 void set_gap_instructions_size(int gap_instructions_size) { |
| (...skipping 1688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2087 // NULL if the register has no assigned spill slot. Indexed by allocation | 2084 // NULL if the register has no assigned spill slot. Indexed by allocation |
| 2088 // index. | 2085 // index. |
| 2089 LOperand* register_spills_[Register::kNumAllocatableRegisters]; | 2086 LOperand* register_spills_[Register::kNumAllocatableRegisters]; |
| 2090 LOperand* double_register_spills_[DoubleRegister::kNumAllocatableRegisters]; | 2087 LOperand* double_register_spills_[DoubleRegister::kNumAllocatableRegisters]; |
| 2091 }; | 2088 }; |
| 2092 | 2089 |
| 2093 | 2090 |
| 2094 class LStackCheck: public LTemplateInstruction<0, 0, 0> { | 2091 class LStackCheck: public LTemplateInstruction<0, 0, 0> { |
| 2095 public: | 2092 public: |
| 2096 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") | 2093 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") |
| 2094 DECLARE_HYDROGEN_ACCESSOR(StackCheck) |
| 2095 |
| 2096 Label* done_label() { return &done_label_; } |
| 2097 |
| 2098 private: |
| 2099 Label done_label_; |
| 2097 }; | 2100 }; |
| 2098 | 2101 |
| 2099 | 2102 |
| 2100 class LIn: public LTemplateInstruction<1, 2, 0> { | 2103 class LIn: public LTemplateInstruction<1, 2, 0> { |
| 2101 public: | 2104 public: |
| 2102 LIn(LOperand* key, LOperand* object) { | 2105 LIn(LOperand* key, LOperand* object) { |
| 2103 inputs_[0] = key; | 2106 inputs_[0] = key; |
| 2104 inputs_[1] = object; | 2107 inputs_[1] = object; |
| 2105 } | 2108 } |
| 2106 | 2109 |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2326 | 2329 |
| 2327 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2330 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2328 }; | 2331 }; |
| 2329 | 2332 |
| 2330 #undef DECLARE_HYDROGEN_ACCESSOR | 2333 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2331 #undef DECLARE_CONCRETE_INSTRUCTION | 2334 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2332 | 2335 |
| 2333 } } // namespace v8::internal | 2336 } } // namespace v8::internal |
| 2334 | 2337 |
| 2335 #endif // V8_ARM_LITHIUM_ARM_H_ | 2338 #endif // V8_ARM_LITHIUM_ARM_H_ |
| OLD | NEW |