| Index: src/api.h
|
| ===================================================================
|
| --- src/api.h (revision 2819)
|
| +++ src/api.h (working copy)
|
| @@ -352,8 +352,8 @@
|
| // contexts have been entered.
|
| inline Handle<Object> LastEnteredContext();
|
|
|
| - inline void SaveContext(Handle<Object> context);
|
| - inline Handle<Object> RestoreContext();
|
| + inline void SaveContext(Context* context);
|
| + inline Context* RestoreContext();
|
| inline bool HasSavedContexts();
|
|
|
| inline List<internal::Object**>* Blocks() { return &blocks; }
|
| @@ -368,14 +368,12 @@
|
| // Used as a stack to keep track of entered contexts.
|
| List<Handle<Object> > entered_contexts_;
|
| // Used as a stack to keep track of saved contexts.
|
| - List<Handle<Object> > saved_contexts_;
|
| + List<Context*> saved_contexts_;
|
| bool ignore_out_of_memory;
|
| // This is only used for threading support.
|
| v8::ImplementationUtilities::HandleScopeData handle_scope_data_;
|
|
|
| - static void Iterate(ObjectVisitor* v,
|
| - List<internal::Object**>* blocks,
|
| - v8::ImplementationUtilities::HandleScopeData* handle_data);
|
| + void IterateThis(ObjectVisitor* v);
|
| char* RestoreThreadHelper(char* from);
|
| char* ArchiveThreadHelper(char* to);
|
|
|
| @@ -386,12 +384,12 @@
|
| static const int kHandleBlockSize = v8::internal::KB - 2; // fit in one page
|
|
|
|
|
| -void HandleScopeImplementer::SaveContext(Handle<Object> context) {
|
| +void HandleScopeImplementer::SaveContext(Context* context) {
|
| saved_contexts_.Add(context);
|
| }
|
|
|
|
|
| -Handle<Object> HandleScopeImplementer::RestoreContext() {
|
| +Context* HandleScopeImplementer::RestoreContext() {
|
| return saved_contexts_.RemoveLast();
|
| }
|
|
|
|
|