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 577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
588 static Register context_register(); | 588 static Register context_register(); |
589 | 589 |
590 // Set fields in the stack frame. Offsets are the frame pointer relative | 590 // Set fields in the stack frame. Offsets are the frame pointer relative |
591 // offsets defined in, e.g., StandardFrameConstants. | 591 // offsets defined in, e.g., StandardFrameConstants. |
592 void StoreToFrameField(int frame_offset, Register value); | 592 void StoreToFrameField(int frame_offset, Register value); |
593 | 593 |
594 // Load a value from the current context. Indices are defined as an enum | 594 // Load a value from the current context. Indices are defined as an enum |
595 // in v8::internal::Context. | 595 // in v8::internal::Context. |
596 void LoadContextField(Register dst, int context_index); | 596 void LoadContextField(Register dst, int context_index); |
597 | 597 |
598 // Push the function argument for the runtime functions PushWithContext | 598 // Push the function argument for the runtime functions PushWithContext, |
599 // and PushCatchContext. | 599 // PushCatchContext and PushBlockContext. |
600 void PushFunctionArgumentForContextAllocation(); | 600 void PushFunctionArgumentForContextAllocation(Register scratch); |
601 | 601 |
602 // AST node visit functions. | 602 // AST node visit functions. |
603 #define DECLARE_VISIT(type) virtual void Visit##type(type* node); | 603 #define DECLARE_VISIT(type) virtual void Visit##type(type* node); |
604 AST_NODE_LIST(DECLARE_VISIT) | 604 AST_NODE_LIST(DECLARE_VISIT) |
605 #undef DECLARE_VISIT | 605 #undef DECLARE_VISIT |
606 | 606 |
607 void EmitUnaryOperation(UnaryOperation* expr, const char* comment); | 607 void EmitUnaryOperation(UnaryOperation* expr, const char* comment); |
608 | 608 |
609 void VisitComma(BinaryOperation* expr); | 609 void VisitComma(BinaryOperation* expr); |
610 void VisitLogicalExpression(BinaryOperation* expr); | 610 void VisitLogicalExpression(BinaryOperation* expr); |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
824 | 824 |
825 friend class NestedStatement; | 825 friend class NestedStatement; |
826 | 826 |
827 DISALLOW_COPY_AND_ASSIGN(FullCodeGenerator); | 827 DISALLOW_COPY_AND_ASSIGN(FullCodeGenerator); |
828 }; | 828 }; |
829 | 829 |
830 | 830 |
831 } } // namespace v8::internal | 831 } } // namespace v8::internal |
832 | 832 |
833 #endif // V8_FULL_CODEGEN_H_ | 833 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |