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

Side by Side Diff: runtime/include/dart_api.h

Issue 9655011: Implement prologue weak persistent handles. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: minor pre-review changes Created 8 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/vm/dart_api_impl.h » ('j') | runtime/vm/dart_api_impl.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 INCLUDE_DART_API_H_ 5 #ifndef INCLUDE_DART_API_H_
6 #define INCLUDE_DART_API_H_ 6 #define INCLUDE_DART_API_H_
7 7
8 /** \mainpage Dart Embedding API Reference 8 /** \mainpage Dart Embedding API Reference
9 * 9 *
10 * Dart is a class-based programming language for creating structured 10 * Dart is a class-based programming language for creating structured
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 void* peer, 244 void* peer,
245 Dart_WeakPersistentHandleFinalizer callback); 245 Dart_WeakPersistentHandleFinalizer callback);
246 246
247 /** 247 /**
248 * Is this object a weak persistent handle? 248 * Is this object a weak persistent handle?
249 * 249 *
250 * Requires there to be a current isolate. 250 * Requires there to be a current isolate.
251 */ 251 */
252 DART_EXPORT bool Dart_IsWeakPersistentHandle(Dart_Handle object); 252 DART_EXPORT bool Dart_IsWeakPersistentHandle(Dart_Handle object);
253 253
254 /**
255 * Allocates a prologue weak persistent handle for an object.
256 *
257 * Prologue weak persistent handles are similar to weak persistent
258 * handles. However, prologue weak persistent handlers are only weak
259 * when the a garbage collector chooses to invoke the prologue and
260 * epilogue callbacks.
siva 2012/03/09 21:48:41 I like the description you used in the gcl upload
cshapiro 2012/03/13 23:06:43 I replaced the comment above with the description
261 *
siva 2012/03/09 21:48:41 Documentation for parameters 'object, peer, callba
cshapiro 2012/03/13 23:06:43 Done.
262 * This handle has the lifetime of the current isolate unless it is
263 * explicitly deallocated by calling Dart_DeletePersistentHandle.
264 *
265 * Requires there to be a current isolate.
266 */
267 DART_EXPORT Dart_Handle Dart_NewPrologueWeakPersistentHandle(
268 Dart_Handle object,
269 void* peer,
270 Dart_WeakPersistentHandleFinalizer callback);
271
272 /**
273 * Is this object a prologue weak persistent handle?
274 *
275 * Requires there to be a current isolate.
276 */
277 DART_EXPORT bool Dart_IsPrologueWeakPersistentHandle(Dart_Handle object);
254 278
255 /** 279 /**
256 * Constructs a set of weak references from the Cartesian product of 280 * Constructs a set of weak references from the Cartesian product of
257 * the objects in the key set and the objects in values set. 281 * the objects in the key set and the objects in values set.
258 * 282 *
259 * \param keys A set of object references. These references will be 283 * \param keys A set of object references. These references will be
260 * considered weak by the garbage collector. 284 * considered weak by the garbage collector.
261 * \param num_keys the number of objects in the keys set. 285 * \param num_keys the number of objects in the keys set.
262 * \param values A set of object references. These references will be 286 * \param values A set of object references. These references will be
263 * considered weak by garbage collector unless any object reference 287 * considered weak by garbage collector unless any object reference
(...skipping 1708 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 1996
1973 // --- Profiling support ---- 1997 // --- Profiling support ----
1974 1998
1975 // External pprof support for gathering and dumping symbolic 1999 // External pprof support for gathering and dumping symbolic
1976 // information that can be used for better profile reports for 2000 // information that can be used for better profile reports for
1977 // dynamically generated code. 2001 // dynamically generated code.
1978 DART_EXPORT void Dart_InitPprofSupport(); 2002 DART_EXPORT void Dart_InitPprofSupport();
1979 DART_EXPORT void Dart_GetPprofSymbolInfo(void** buffer, int* buffer_size); 2003 DART_EXPORT void Dart_GetPprofSymbolInfo(void** buffer, int* buffer_size);
1980 2004
1981 #endif // INCLUDE_DART_API_H_ 2005 #endif // INCLUDE_DART_API_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/dart_api_impl.h » ('j') | runtime/vm/dart_api_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698