| 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 20 matching lines...) Expand all Loading... |
| 31 #include "frames-inl.h" | 31 #include "frames-inl.h" |
| 32 | 32 |
| 33 namespace v8 { namespace internal { | 33 namespace v8 { namespace internal { |
| 34 | 34 |
| 35 | 35 |
| 36 #define RETURN_IF_SCHEDULED_EXCEPTION() \ | 36 #define RETURN_IF_SCHEDULED_EXCEPTION() \ |
| 37 if (Top::has_scheduled_exception()) return Top::PromoteScheduledException() | 37 if (Top::has_scheduled_exception()) return Top::PromoteScheduledException() |
| 38 | 38 |
| 39 // Top has static variables used for JavaScript execution. | 39 // Top has static variables used for JavaScript execution. |
| 40 | 40 |
| 41 class SaveContext; // Forward decleration. | 41 class SaveContext; // Forward declaration. |
| 42 | 42 |
| 43 class ThreadLocalTop BASE_EMBEDDED { | 43 class ThreadLocalTop BASE_EMBEDDED { |
| 44 public: | 44 public: |
| 45 // The context where the current execution method is created and for variable | 45 // The context where the current execution method is created and for variable |
| 46 // lookups. | 46 // lookups. |
| 47 Context* context_; | 47 Context* context_; |
| 48 Object* pending_exception_; | 48 Object* pending_exception_; |
| 49 bool has_pending_message_; | 49 bool has_pending_message_; |
| 50 const char* pending_message_; | 50 const char* pending_message_; |
| 51 Object* pending_message_obj_; | 51 Object* pending_message_obj_; |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 | 311 |
| 312 friend class SaveContext; | 312 friend class SaveContext; |
| 313 friend class AssertNoContextChange; | 313 friend class AssertNoContextChange; |
| 314 friend class ExecutionAccess; | 314 friend class ExecutionAccess; |
| 315 | 315 |
| 316 static void FillCache(); | 316 static void FillCache(); |
| 317 }; | 317 }; |
| 318 | 318 |
| 319 | 319 |
| 320 // If the GCC version is 4.1.x or 4.2.x an additional field is added to the | 320 // If the GCC version is 4.1.x or 4.2.x an additional field is added to the |
| 321 // class as a workarround for a bug in the generated code found with these | 321 // class as a work around for a bug in the generated code found with these |
| 322 // versions of GCC. See V8 issue 122 for details. | 322 // versions of GCC. See V8 issue 122 for details. |
| 323 class SaveContext BASE_EMBEDDED { | 323 class SaveContext BASE_EMBEDDED { |
| 324 public: | 324 public: |
| 325 SaveContext() : | 325 SaveContext() : |
| 326 context_(Top::context()), | 326 context_(Top::context()), |
| 327 #if __GNUC_VERSION__ >= 40100 && __GNUC_VERSION__ < 40300 | 327 #if __GNUC_VERSION__ >= 40100 && __GNUC_VERSION__ < 40300 |
| 328 dummy_(Top::context()), | 328 dummy_(Top::context()), |
| 329 #endif | 329 #endif |
| 330 prev_(Top::save_context()) { | 330 prev_(Top::save_context()) { |
| 331 Top::set_save_context(this); | 331 Top::set_save_context(this); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 | 381 |
| 382 class ExecutionAccess BASE_EMBEDDED { | 382 class ExecutionAccess BASE_EMBEDDED { |
| 383 public: | 383 public: |
| 384 ExecutionAccess(); | 384 ExecutionAccess(); |
| 385 ~ExecutionAccess(); | 385 ~ExecutionAccess(); |
| 386 }; | 386 }; |
| 387 | 387 |
| 388 } } // namespace v8::internal | 388 } } // namespace v8::internal |
| 389 | 389 |
| 390 #endif // V8_TOP_H_ | 390 #endif // V8_TOP_H_ |
| OLD | NEW |