| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ALLOCATION_SITE_SCOPES_H_ | 5 #ifndef V8_ALLOCATION_SITE_SCOPES_H_ |
| 6 #define V8_ALLOCATION_SITE_SCOPES_H_ | 6 #define V8_ALLOCATION_SITE_SCOPES_H_ |
| 7 | 7 |
| 8 #include "ast.h" | 8 #include "ast.h" |
| 9 #include "handles.h" | 9 #include "handles.h" |
| 10 #include "objects.h" | 10 #include "objects.h" |
| 11 #include "zone.h" | 11 #include "zone.h" |
| 12 | 12 |
| 13 namespace v8 { | 13 namespace v8 { |
| 14 namespace internal { | 14 namespace internal { |
| 15 | 15 |
| 16 | 16 |
| 17 // AllocationSiteContext is the base class for walking and copying a nested | 17 // AllocationSiteContext is the base class for walking and copying a nested |
| 18 // boilerplate with AllocationSite and AllocationMemento support. | 18 // boilerplate with AllocationSite and AllocationMemento support. |
| 19 class AllocationSiteContext { | 19 class AllocationSiteContext { |
| 20 public: | 20 public: |
| 21 explicit AllocationSiteContext(Isolate* isolate) { | 21 explicit AllocationSiteContext(Isolate* isolate) { |
| 22 isolate_ = isolate; | 22 isolate_ = isolate; |
| 23 }; | 23 } |
| 24 | 24 |
| 25 Handle<AllocationSite> top() { return top_; } | 25 Handle<AllocationSite> top() { return top_; } |
| 26 Handle<AllocationSite> current() { return current_; } | 26 Handle<AllocationSite> current() { return current_; } |
| 27 | 27 |
| 28 bool ShouldCreateMemento(Handle<JSObject> object) { return false; } | 28 bool ShouldCreateMemento(Handle<JSObject> object) { return false; } |
| 29 | 29 |
| 30 Isolate* isolate() { return isolate_; } | 30 Isolate* isolate() { return isolate_; } |
| 31 | 31 |
| 32 protected: | 32 protected: |
| 33 void update_current_site(AllocationSite* site) { | 33 void update_current_site(AllocationSite* site) { |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 | 92 |
| 93 private: | 93 private: |
| 94 Handle<AllocationSite> top_site_; | 94 Handle<AllocationSite> top_site_; |
| 95 bool activated_; | 95 bool activated_; |
| 96 }; | 96 }; |
| 97 | 97 |
| 98 | 98 |
| 99 } } // namespace v8::internal | 99 } } // namespace v8::internal |
| 100 | 100 |
| 101 #endif // V8_ALLOCATION_SITE_SCOPES_H_ | 101 #endif // V8_ALLOCATION_SITE_SCOPES_H_ |
| OLD | NEW |