| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_CRANKSHAFT_HYDROGEN_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ |
| 6 #define V8_CRANKSHAFT_HYDROGEN_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_H_ |
| 7 | 7 |
| 8 #include "src/accessors.h" | 8 #include "src/accessors.h" |
| 9 #include "src/allocation.h" | 9 #include "src/allocation.h" |
| 10 #include "src/ast/ast-type-bounds.h" | 10 #include "src/ast/ast-type-bounds.h" |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 inline void Advance() { | 265 inline void Advance() { |
| 266 instr_ = next_; | 266 instr_ = next_; |
| 267 next_ = Done() ? NULL : instr_->next(); | 267 next_ = Done() ? NULL : instr_->next(); |
| 268 } | 268 } |
| 269 | 269 |
| 270 private: | 270 private: |
| 271 HInstruction* instr_; | 271 HInstruction* instr_; |
| 272 HInstruction* next_; | 272 HInstruction* next_; |
| 273 }; | 273 }; |
| 274 | 274 |
| 275 | |
| 276 class HLoopInformation final : public ZoneObject { | 275 class HLoopInformation final : public ZoneObject { |
| 277 public: | 276 public: |
| 278 HLoopInformation(HBasicBlock* loop_header, Zone* zone) | 277 HLoopInformation(HBasicBlock* loop_header, Zone* zone) |
| 279 : back_edges_(4, zone), | 278 : back_edges_(4, zone), |
| 280 loop_header_(loop_header), | 279 loop_header_(loop_header), |
| 281 blocks_(8, zone), | 280 blocks_(8, zone), |
| 282 stack_check_(NULL) { | 281 stack_check_(NULL) { |
| 283 blocks_.Add(loop_header, zone); | 282 blocks_.Add(loop_header, zone); |
| 284 } | 283 } |
| 285 ~HLoopInformation() {} | 284 ~HLoopInformation() {} |
| (...skipping 2033 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2319 void VisitExpressions(ZoneList<Expression*>* exprs); | 2318 void VisitExpressions(ZoneList<Expression*>* exprs); |
| 2320 void VisitExpressions(ZoneList<Expression*>* exprs, | 2319 void VisitExpressions(ZoneList<Expression*>* exprs, |
| 2321 ArgumentsAllowedFlag flag); | 2320 ArgumentsAllowedFlag flag); |
| 2322 | 2321 |
| 2323 // Remove the arguments from the bailout environment and emit instructions | 2322 // Remove the arguments from the bailout environment and emit instructions |
| 2324 // to push them as outgoing parameters. | 2323 // to push them as outgoing parameters. |
| 2325 template <class Instruction> HInstruction* PreProcessCall(Instruction* call); | 2324 template <class Instruction> HInstruction* PreProcessCall(Instruction* call); |
| 2326 void PushArgumentsFromEnvironment(int count); | 2325 void PushArgumentsFromEnvironment(int count); |
| 2327 | 2326 |
| 2328 void SetUpScope(DeclarationScope* scope); | 2327 void SetUpScope(DeclarationScope* scope); |
| 2329 void VisitStatements(ZoneList<Statement*>* statements); | 2328 void VisitStatements(ZoneChunkList<Statement*>* statements); |
| 2330 | 2329 |
| 2331 #define DECLARE_VISIT(type) virtual void Visit##type(type* node); | 2330 #define DECLARE_VISIT(type) virtual void Visit##type(type* node); |
| 2332 AST_NODE_LIST(DECLARE_VISIT) | 2331 AST_NODE_LIST(DECLARE_VISIT) |
| 2333 #undef DECLARE_VISIT | 2332 #undef DECLARE_VISIT |
| 2334 | 2333 |
| 2335 private: | 2334 private: |
| 2336 // Helpers for flow graph construction. | 2335 // Helpers for flow graph construction. |
| 2337 enum GlobalPropertyAccess { | 2336 enum GlobalPropertyAccess { |
| 2338 kUseCell, | 2337 kUseCell, |
| 2339 kUseGeneric | 2338 kUseGeneric |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3006 } | 3005 } |
| 3007 | 3006 |
| 3008 private: | 3007 private: |
| 3009 HOptimizedGraphBuilder* builder_; | 3008 HOptimizedGraphBuilder* builder_; |
| 3010 }; | 3009 }; |
| 3011 | 3010 |
| 3012 } // namespace internal | 3011 } // namespace internal |
| 3013 } // namespace v8 | 3012 } // namespace v8 |
| 3014 | 3013 |
| 3015 #endif // V8_CRANKSHAFT_HYDROGEN_H_ | 3014 #endif // V8_CRANKSHAFT_HYDROGEN_H_ |
| OLD | NEW |