OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_ISOLATE_H_ | 5 #ifndef V8_ISOLATE_H_ |
6 #define V8_ISOLATE_H_ | 6 #define V8_ISOLATE_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <queue> | 9 #include <queue> |
10 | 10 |
(...skipping 1476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1487 Handle<JSObject> promise_; | 1487 Handle<JSObject> promise_; |
1488 PromiseOnStack* prev_; | 1488 PromiseOnStack* prev_; |
1489 }; | 1489 }; |
1490 | 1490 |
1491 | 1491 |
1492 // If the GCC version is 4.1.x or 4.2.x an additional field is added to the | 1492 // If the GCC version is 4.1.x or 4.2.x an additional field is added to the |
1493 // class as a work around for a bug in the generated code found with these | 1493 // class as a work around for a bug in the generated code found with these |
1494 // versions of GCC. See V8 issue 122 for details. | 1494 // versions of GCC. See V8 issue 122 for details. |
1495 class SaveContext BASE_EMBEDDED { | 1495 class SaveContext BASE_EMBEDDED { |
1496 public: | 1496 public: |
1497 explicit inline SaveContext(Isolate* isolate); | 1497 explicit SaveContext(Isolate* isolate); |
1498 inline ~SaveContext(); | 1498 ~SaveContext(); |
1499 | 1499 |
1500 Handle<Context> context() { return context_; } | 1500 Handle<Context> context() { return context_; } |
1501 SaveContext* prev() { return prev_; } | 1501 SaveContext* prev() { return prev_; } |
1502 | 1502 |
1503 // Returns true if this save context is below a given JavaScript frame. | 1503 // Returns true if this save context is below a given JavaScript frame. |
1504 bool IsBelowFrame(StandardFrame* frame) { | 1504 bool IsBelowFrame(StandardFrame* frame) { |
1505 return (c_entry_fp_ == 0) || (c_entry_fp_ > frame->sp()); | 1505 return (c_entry_fp_ == 0) || (c_entry_fp_ > frame->sp()); |
1506 } | 1506 } |
1507 | 1507 |
1508 Isolate* isolate() { return isolate_; } | |
1509 | |
1510 private: | 1508 private: |
1511 Isolate* const isolate_; | 1509 Isolate* const isolate_; |
1512 Handle<Context> context_; | 1510 Handle<Context> context_; |
1513 SaveContext* const prev_; | 1511 SaveContext* const prev_; |
1514 Address c_entry_fp_; | 1512 Address c_entry_fp_; |
1515 }; | 1513 }; |
1516 | 1514 |
1517 | 1515 |
1518 class AssertNoContextChange BASE_EMBEDDED { | 1516 class AssertNoContextChange BASE_EMBEDDED { |
1519 #ifdef DEBUG | 1517 #ifdef DEBUG |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1683 | 1681 |
1684 EmbeddedVector<char, 128> filename_; | 1682 EmbeddedVector<char, 128> filename_; |
1685 FILE* file_; | 1683 FILE* file_; |
1686 int scope_depth_; | 1684 int scope_depth_; |
1687 }; | 1685 }; |
1688 | 1686 |
1689 } // namespace internal | 1687 } // namespace internal |
1690 } // namespace v8 | 1688 } // namespace v8 |
1691 | 1689 |
1692 #endif // V8_ISOLATE_H_ | 1690 #endif // V8_ISOLATE_H_ |
OLD | NEW |