Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Side by Side Diff: runtime/vm/isolate.h

Issue 2650693004: VM: Fix memory leaks during isolate spawning (Closed)
Patch Set: Rebased & Renamed TakeBuffer -> StealBuffer Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/datastream.h ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef RUNTIME_VM_ISOLATE_H_ 5 #ifndef RUNTIME_VM_ISOLATE_H_
6 #define RUNTIME_VM_ISOLATE_H_ 6 #define RUNTIME_VM_ISOLATE_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "vm/atomic.h" 10 #include "vm/atomic.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 class RawGrowableObjectArray; 54 class RawGrowableObjectArray;
55 class RawMint; 55 class RawMint;
56 class RawObject; 56 class RawObject;
57 class RawInteger; 57 class RawInteger;
58 class RawFloat32x4; 58 class RawFloat32x4;
59 class RawInt32x4; 59 class RawInt32x4;
60 class RawUserTag; 60 class RawUserTag;
61 class SafepointHandler; 61 class SafepointHandler;
62 class SampleBuffer; 62 class SampleBuffer;
63 class SendPort; 63 class SendPort;
64 class SerializedObjectBuffer;
64 class ServiceIdZone; 65 class ServiceIdZone;
65 class Simulator; 66 class Simulator;
66 class StackResource; 67 class StackResource;
67 class StackZone; 68 class StackZone;
68 class StoreBuffer; 69 class StoreBuffer;
69 class StubCode; 70 class StubCode;
70 class ThreadRegistry; 71 class ThreadRegistry;
71 class UserTag; 72 class UserTag;
72 73
73 74
(...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after
914 }; 915 };
915 916
916 917
917 class IsolateSpawnState { 918 class IsolateSpawnState {
918 public: 919 public:
919 IsolateSpawnState(Dart_Port parent_port, 920 IsolateSpawnState(Dart_Port parent_port,
920 Dart_Port origin_id, 921 Dart_Port origin_id,
921 void* init_data, 922 void* init_data,
922 const char* script_url, 923 const char* script_url,
923 const Function& func, 924 const Function& func,
924 const Instance& message, 925 SerializedObjectBuffer* message_buffer,
925 Monitor* spawn_count_monitor, 926 Monitor* spawn_count_monitor,
926 intptr_t* spawn_count, 927 intptr_t* spawn_count,
927 const char* package_root, 928 const char* package_root,
928 const char* package_config, 929 const char* package_config,
929 bool paused, 930 bool paused,
930 bool errorsAreFatal, 931 bool errorsAreFatal,
931 Dart_Port onExit, 932 Dart_Port onExit,
932 Dart_Port onError); 933 Dart_Port onError);
933 IsolateSpawnState(Dart_Port parent_port, 934 IsolateSpawnState(Dart_Port parent_port,
934 void* init_data, 935 void* init_data,
935 const char* script_url, 936 const char* script_url,
936 const char* package_root, 937 const char* package_root,
937 const char* package_config, 938 const char* package_config,
938 const Instance& args, 939 SerializedObjectBuffer* args_buffer,
939 const Instance& message, 940 SerializedObjectBuffer* message_buffer,
940 Monitor* spawn_count_monitor, 941 Monitor* spawn_count_monitor,
941 intptr_t* spawn_count, 942 intptr_t* spawn_count,
942 bool paused, 943 bool paused,
943 bool errorsAreFatal, 944 bool errorsAreFatal,
944 Dart_Port onExit, 945 Dart_Port onExit,
945 Dart_Port onError); 946 Dart_Port onError);
946 ~IsolateSpawnState(); 947 ~IsolateSpawnState();
947 948
948 Isolate* isolate() const { return isolate_; } 949 Isolate* isolate() const { return isolate_; }
949 void set_isolate(Isolate* value) { isolate_ = value; } 950 void set_isolate(Isolate* value) { isolate_ = value; }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 intptr_t* spawn_count_; 995 intptr_t* spawn_count_;
995 996
996 Dart_IsolateFlags isolate_flags_; 997 Dart_IsolateFlags isolate_flags_;
997 bool paused_; 998 bool paused_;
998 bool errors_are_fatal_; 999 bool errors_are_fatal_;
999 }; 1000 };
1000 1001
1001 } // namespace dart 1002 } // namespace dart
1002 1003
1003 #endif // RUNTIME_VM_ISOLATE_H_ 1004 #endif // RUNTIME_VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/datastream.h ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698