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 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 HEnvironment* CopyAsLoopHeader(HBasicBlock* block) const; | 397 HEnvironment* CopyAsLoopHeader(HBasicBlock* block) const; |
398 | 398 |
399 // Create an "inlined version" of this environment, where the original | 399 // Create an "inlined version" of this environment, where the original |
400 // environment is the outer environment but the top expression stack | 400 // environment is the outer environment but the top expression stack |
401 // elements are moved to an inner environment as parameters. If | 401 // elements are moved to an inner environment as parameters. If |
402 // is_speculative, the argument values are expected to be PushArgument | 402 // is_speculative, the argument values are expected to be PushArgument |
403 // instructions, otherwise they are the actual values. | 403 // instructions, otherwise they are the actual values. |
404 HEnvironment* CopyForInlining(Handle<JSFunction> target, | 404 HEnvironment* CopyForInlining(Handle<JSFunction> target, |
405 FunctionLiteral* function, | 405 FunctionLiteral* function, |
406 CompilationPhase compilation_phase, | 406 CompilationPhase compilation_phase, |
407 HConstant* undefined) const; | 407 HConstant* undefined, |
| 408 CallKind call_kind) const; |
408 | 409 |
409 void AddIncomingEdge(HBasicBlock* block, HEnvironment* other); | 410 void AddIncomingEdge(HBasicBlock* block, HEnvironment* other); |
410 | 411 |
411 void ClearHistory() { | 412 void ClearHistory() { |
412 pop_count_ = 0; | 413 pop_count_ = 0; |
413 push_count_ = 0; | 414 push_count_ = 0; |
414 assigned_variables_.Rewind(0); | 415 assigned_variables_.Rewind(0); |
415 } | 416 } |
416 | 417 |
417 void SetValueAt(int index, HValue* value) { | 418 void SetValueAt(int index, HValue* value) { |
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1192 const char* filename_; | 1193 const char* filename_; |
1193 HeapStringAllocator string_allocator_; | 1194 HeapStringAllocator string_allocator_; |
1194 StringStream trace_; | 1195 StringStream trace_; |
1195 int indent_; | 1196 int indent_; |
1196 }; | 1197 }; |
1197 | 1198 |
1198 | 1199 |
1199 } } // namespace v8::internal | 1200 } } // namespace v8::internal |
1200 | 1201 |
1201 #endif // V8_HYDROGEN_H_ | 1202 #endif // V8_HYDROGEN_H_ |
OLD | NEW |