OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 // This is meant to be called at loop back edges, |back_edge_target| is | 430 // This is meant to be called at loop back edges, |back_edge_target| is |
431 // the jump target of the back edge and is used to approximate the amount | 431 // the jump target of the back edge and is used to approximate the amount |
432 // of code inside the loop. | 432 // of code inside the loop. |
433 void EmitStackCheck(IterationStatement* stmt, Label* back_edge_target); | 433 void EmitStackCheck(IterationStatement* stmt, Label* back_edge_target); |
434 // Record the OSR AST id corresponding to a stack check in the code. | 434 // Record the OSR AST id corresponding to a stack check in the code. |
435 void RecordStackCheck(unsigned osr_ast_id); | 435 void RecordStackCheck(unsigned osr_ast_id); |
436 // Emit a table of stack check ids and pcs into the code stream. Return | 436 // Emit a table of stack check ids and pcs into the code stream. Return |
437 // the offset of the start of the table. | 437 // the offset of the start of the table. |
438 unsigned EmitStackCheckTable(); | 438 unsigned EmitStackCheckTable(); |
439 | 439 |
| 440 void EmitProfilingCounterDecrement(int delta); |
| 441 void EmitProfilingCounterReset(); |
| 442 |
440 // Platform-specific return sequence | 443 // Platform-specific return sequence |
441 void EmitReturnSequence(); | 444 void EmitReturnSequence(); |
442 | 445 |
443 // Platform-specific code sequences for calls | 446 // Platform-specific code sequences for calls |
444 void EmitCallWithStub(Call* expr, CallFunctionFlags flags); | 447 void EmitCallWithStub(Call* expr, CallFunctionFlags flags); |
445 void EmitCallWithIC(Call* expr, Handle<Object> name, RelocInfo::Mode mode); | 448 void EmitCallWithIC(Call* expr, Handle<Object> name, RelocInfo::Mode mode); |
446 void EmitKeyedCallWithIC(Call* expr, Expression* key); | 449 void EmitKeyedCallWithIC(Call* expr, Expression* key); |
447 | 450 |
448 // Platform-specific code for inline runtime calls. | 451 // Platform-specific code for inline runtime calls. |
449 InlineFunctionGenerator FindInlineFunctionGenerator(Runtime::FunctionId id); | 452 InlineFunctionGenerator FindInlineFunctionGenerator(Runtime::FunctionId id); |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
797 | 800 |
798 friend class NestedStatement; | 801 friend class NestedStatement; |
799 | 802 |
800 DISALLOW_COPY_AND_ASSIGN(FullCodeGenerator); | 803 DISALLOW_COPY_AND_ASSIGN(FullCodeGenerator); |
801 }; | 804 }; |
802 | 805 |
803 | 806 |
804 } } // namespace v8::internal | 807 } } // namespace v8::internal |
805 | 808 |
806 #endif // V8_FULL_CODEGEN_H_ | 809 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |