| OLD | NEW | 
|---|
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 56   virtual ~DeferredCode() { } | 56   virtual ~DeferredCode() { } | 
| 57 | 57 | 
| 58   virtual void Generate() = 0; | 58   virtual void Generate() = 0; | 
| 59 | 59 | 
| 60   MacroAssembler* masm() const { return masm_; } | 60   MacroAssembler* masm() const { return masm_; } | 
| 61   CodeGenerator* generator() const { return generator_; } | 61   CodeGenerator* generator() const { return generator_; } | 
| 62 | 62 | 
| 63   Label* enter() { return &enter_; } | 63   Label* enter() { return &enter_; } | 
| 64   Label* exit() { return &exit_; } | 64   Label* exit() { return &exit_; } | 
| 65 | 65 | 
|  | 66   int statement_position() const { return statement_position_; } | 
| 66   int position() const { return position_; } | 67   int position() const { return position_; } | 
| 67   bool position_is_statement() const { return position_is_statement_; } |  | 
| 68 | 68 | 
| 69 #ifdef DEBUG | 69 #ifdef DEBUG | 
| 70   void set_comment(const char* comment) { comment_ = comment; } | 70   void set_comment(const char* comment) { comment_ = comment; } | 
| 71   const char* comment() const { return comment_; } | 71   const char* comment() const { return comment_; } | 
| 72 #else | 72 #else | 
| 73   inline void set_comment(const char* comment) { } | 73   inline void set_comment(const char* comment) { } | 
| 74   const char* comment() const { return ""; } | 74   const char* comment() const { return ""; } | 
| 75 #endif | 75 #endif | 
| 76 | 76 | 
| 77  protected: | 77  protected: | 
| 78   // The masm_ field is manipulated when compiling stubs with the | 78   // The masm_ field is manipulated when compiling stubs with the | 
| 79   // BEGIN_STUB and END_STUB macros. For that reason, it cannot be | 79   // BEGIN_STUB and END_STUB macros. For that reason, it cannot be | 
| 80   // constant. | 80   // constant. | 
| 81   MacroAssembler* masm_; | 81   MacroAssembler* masm_; | 
| 82 | 82 | 
| 83  private: | 83  private: | 
| 84   CodeGenerator* const generator_; | 84   CodeGenerator* const generator_; | 
| 85   Label enter_; | 85   Label enter_; | 
| 86   Label exit_; | 86   Label exit_; | 
|  | 87   int statement_position_; | 
| 87   int position_; | 88   int position_; | 
| 88   bool position_is_statement_; |  | 
| 89 #ifdef DEBUG | 89 #ifdef DEBUG | 
| 90   const char* comment_; | 90   const char* comment_; | 
| 91 #endif | 91 #endif | 
| 92   DISALLOW_COPY_AND_ASSIGN(DeferredCode); | 92   DISALLOW_COPY_AND_ASSIGN(DeferredCode); | 
| 93 }; | 93 }; | 
| 94 | 94 | 
| 95 | 95 | 
| 96 // A superclass for gode generators.  The implementations of methods | 96 // A superclass for gode generators.  The implementations of methods | 
| 97 // declared in this class are partially in codegen.c and partially in | 97 // declared in this class are partially in codegen.c and partially in | 
| 98 // codegen_<arch>.c. | 98 // codegen_<arch>.c. | 
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 302   int MinorKey() { return 1; } | 302   int MinorKey() { return 1; } | 
| 303 | 303 | 
| 304   const char* GetName() { return "JSConstructEntryStub"; } | 304   const char* GetName() { return "JSConstructEntryStub"; } | 
| 305 }; | 305 }; | 
| 306 | 306 | 
| 307 | 307 | 
| 308 }  // namespace internal | 308 }  // namespace internal | 
| 309 }  // namespace v8 | 309 }  // namespace v8 | 
| 310 | 310 | 
| 311 #endif  // V8_CODEGEN_H_ | 311 #endif  // V8_CODEGEN_H_ | 
| OLD | NEW | 
|---|