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 |