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

Side by Side Diff: include/v8.h

Issue 990873002: add V8_DEPRECATE_SOON macros to make it easier to identify calls which need deprecation (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
« no previous file with comments | « no previous file | include/v8config.h » ('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 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 /** \mainpage V8 API Reference Guide 5 /** \mainpage V8 API Reference Guide
6 * 6 *
7 * V8 is Google's open source JavaScript engine. 7 * V8 is Google's open source JavaScript engine.
8 * 8 *
9 * This set of documents provides reference material generated from the 9 * This set of documents provides reference material generated from the
10 * V8 header file, include/v8.h. 10 * V8 header file, include/v8.h.
(...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 1067
1068 /** 1068 /**
1069 * A compiled JavaScript script, tied to a Context which was active when the 1069 * A compiled JavaScript script, tied to a Context which was active when the
1070 * script was compiled. 1070 * script was compiled.
1071 */ 1071 */
1072 class V8_EXPORT Script { 1072 class V8_EXPORT Script {
1073 public: 1073 public:
1074 /** 1074 /**
1075 * A shorthand for ScriptCompiler::Compile(). 1075 * A shorthand for ScriptCompiler::Compile().
1076 */ 1076 */
1077 // TODO(dcarney): deprecate. 1077 static V8_DEPRECATE_SOON(
1078 static Local<Script> Compile(Handle<String> source, 1078 "Use maybe version",
1079 ScriptOrigin* origin = nullptr); 1079 Local<Script> Compile(Handle<String> source,
1080 ScriptOrigin* origin = nullptr));
1080 static MaybeLocal<Script> Compile(Local<Context> context, 1081 static MaybeLocal<Script> Compile(Local<Context> context,
1081 Handle<String> source, 1082 Handle<String> source,
1082 ScriptOrigin* origin = nullptr); 1083 ScriptOrigin* origin = nullptr);
1083 1084
1084 // TODO(dcarney): deprecate. 1085 static Local<Script> V8_DEPRECATE_SOON("Use maybe version",
1085 static Local<Script> Compile(Handle<String> source, 1086 Compile(Handle<String> source,
1086 Handle<String> file_name); 1087 Handle<String> file_name));
1087 1088
1088 /** 1089 /**
1089 * Runs the script returning the resulting value. It will be run in the 1090 * Runs the script returning the resulting value. It will be run in the
1090 * context in which it was created (ScriptCompiler::CompileBound or 1091 * context in which it was created (ScriptCompiler::CompileBound or
1091 * UnboundScript::BindToCurrentContext()). 1092 * UnboundScript::BindToCurrentContext()).
1092 */ 1093 */
1093 // TODO(dcarney): deprecate 1094 V8_DEPRECATE_SOON("Use maybe version", Local<Value> Run());
1094 Local<Value> Run();
1095 MaybeLocal<Value> Run(Local<Context> context); 1095 MaybeLocal<Value> Run(Local<Context> context);
1096 1096
1097 /** 1097 /**
1098 * Returns the corresponding context-unbound script. 1098 * Returns the corresponding context-unbound script.
1099 */ 1099 */
1100 Local<UnboundScript> GetUnboundScript(); 1100 Local<UnboundScript> GetUnboundScript();
1101 1101
1102 V8_DEPRECATED("Use GetUnboundScript()->GetId()", 1102 V8_DEPRECATED("Use GetUnboundScript()->GetId()",
1103 int GetId()) { 1103 int GetId()) {
1104 return GetUnboundScript()->GetId(); 1104 return GetUnboundScript()->GetId();
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
1273 * consumed later to speed up compilation of identical source scripts. 1273 * consumed later to speed up compilation of identical source scripts.
1274 * 1274 *
1275 * Note that when producing cached data, the source must point to NULL for 1275 * Note that when producing cached data, the source must point to NULL for
1276 * cached data. When consuming cached data, the cached data must have been 1276 * cached data. When consuming cached data, the cached data must have been
1277 * produced by the same version of V8. 1277 * produced by the same version of V8.
1278 * 1278 *
1279 * \param source Script source code. 1279 * \param source Script source code.
1280 * \return Compiled script object (context independent; for running it must be 1280 * \return Compiled script object (context independent; for running it must be
1281 * bound to a context). 1281 * bound to a context).
1282 */ 1282 */
1283 // TODO(dcarney): deprecate 1283 static V8_DEPRECATE_SOON("Use maybe version",
1284 static Local<UnboundScript> CompileUnbound( 1284 Local<UnboundScript> CompileUnbound(
1285 Isolate* isolate, Source* source, 1285 Isolate* isolate, Source* source,
1286 CompileOptions options = kNoCompileOptions); 1286 CompileOptions options = kNoCompileOptions));
1287 static MaybeLocal<UnboundScript> CompileUnboundScript( 1287 static MaybeLocal<UnboundScript> CompileUnboundScript(
1288 Isolate* isolate, Source* source, 1288 Isolate* isolate, Source* source,
1289 CompileOptions options = kNoCompileOptions); 1289 CompileOptions options = kNoCompileOptions);
1290 1290
1291 /** 1291 /**
1292 * Compiles the specified script (bound to current context). 1292 * Compiles the specified script (bound to current context).
1293 * 1293 *
1294 * \param source Script source code. 1294 * \param source Script source code.
1295 * \param pre_data Pre-parsing data, as obtained by ScriptData::PreCompile() 1295 * \param pre_data Pre-parsing data, as obtained by ScriptData::PreCompile()
1296 * using pre_data speeds compilation if it's done multiple times. 1296 * using pre_data speeds compilation if it's done multiple times.
1297 * Owned by caller, no references are kept when this function returns. 1297 * Owned by caller, no references are kept when this function returns.
1298 * \return Compiled script object, bound to the context that was active 1298 * \return Compiled script object, bound to the context that was active
1299 * when this function was called. When run it will always use this 1299 * when this function was called. When run it will always use this
1300 * context. 1300 * context.
1301 */ 1301 */
1302 // TODO(dcarney): deprecate 1302 static V8_DEPRECATE_SOON(
1303 static Local<Script> Compile( 1303 "Use maybe version",
1304 Isolate* isolate, Source* source, 1304 Local<Script> Compile(Isolate* isolate, Source* source,
1305 CompileOptions options = kNoCompileOptions); 1305 CompileOptions options = kNoCompileOptions));
1306 static MaybeLocal<Script> Compile(Local<Context> context, Source* source, 1306 static MaybeLocal<Script> Compile(Local<Context> context, Source* source,
1307 CompileOptions options = kNoCompileOptions); 1307 CompileOptions options = kNoCompileOptions);
1308 1308
1309 /** 1309 /**
1310 * Returns a task which streams script data into V8, or NULL if the script 1310 * Returns a task which streams script data into V8, or NULL if the script
1311 * cannot be streamed. The user is responsible for running the task on a 1311 * cannot be streamed. The user is responsible for running the task on a
1312 * background thread and deleting it. When ran, the task starts parsing the 1312 * background thread and deleting it. When ran, the task starts parsing the
1313 * script, and it will request data from the StreamedSource as needed. When 1313 * script, and it will request data from the StreamedSource as needed. When
1314 * ScriptStreamingTask::Run exits, all data has been streamed and the script 1314 * ScriptStreamingTask::Run exits, all data has been streamed and the script
1315 * can be compiled (see Compile below). 1315 * can be compiled (see Compile below).
1316 * 1316 *
1317 * This API allows to start the streaming with as little data as possible, and 1317 * This API allows to start the streaming with as little data as possible, and
1318 * the remaining data (for example, the ScriptOrigin) is passed to Compile. 1318 * the remaining data (for example, the ScriptOrigin) is passed to Compile.
1319 */ 1319 */
1320 static ScriptStreamingTask* StartStreamingScript( 1320 static ScriptStreamingTask* StartStreamingScript(
1321 Isolate* isolate, StreamedSource* source, 1321 Isolate* isolate, StreamedSource* source,
1322 CompileOptions options = kNoCompileOptions); 1322 CompileOptions options = kNoCompileOptions);
1323 1323
1324 /** 1324 /**
1325 * Compiles a streamed script (bound to current context). 1325 * Compiles a streamed script (bound to current context).
1326 * 1326 *
1327 * This can only be called after the streaming has finished 1327 * This can only be called after the streaming has finished
1328 * (ScriptStreamingTask has been run). V8 doesn't construct the source string 1328 * (ScriptStreamingTask has been run). V8 doesn't construct the source string
1329 * during streaming, so the embedder needs to pass the full source here. 1329 * during streaming, so the embedder needs to pass the full source here.
1330 */ 1330 */
1331 // TODO(dcarney): deprecate 1331 static V8_DEPRECATE_SOON(
1332 static Local<Script> Compile(Isolate* isolate, StreamedSource* source, 1332 "Use maybe version",
1333 Handle<String> full_source_string, 1333 Local<Script> Compile(Isolate* isolate, StreamedSource* source,
1334 const ScriptOrigin& origin); 1334 Handle<String> full_source_string,
1335 const ScriptOrigin& origin));
1335 static MaybeLocal<Script> Compile(Local<Context> context, 1336 static MaybeLocal<Script> Compile(Local<Context> context,
1336 StreamedSource* source, 1337 StreamedSource* source,
1337 Handle<String> full_source_string, 1338 Handle<String> full_source_string,
1338 const ScriptOrigin& origin); 1339 const ScriptOrigin& origin);
1339 1340
1340 /** 1341 /**
1341 * Return a version tag for CachedData for the current V8 version & flags. 1342 * Return a version tag for CachedData for the current V8 version & flags.
1342 * 1343 *
1343 * This value is meant only for determining whether a previously generated 1344 * This value is meant only for determining whether a previously generated
1344 * CachedData instance is still valid; the tag has no other meaing. 1345 * CachedData instance is still valid; the tag has no other meaing.
(...skipping 13 matching lines...) Expand all
1358 static uint32_t CachedDataVersionTag(); 1359 static uint32_t CachedDataVersionTag();
1359 1360
1360 /** 1361 /**
1361 * Compile an ES6 module. 1362 * Compile an ES6 module.
1362 * 1363 *
1363 * This is an experimental feature. 1364 * This is an experimental feature.
1364 * 1365 *
1365 * TODO(adamk): Script is likely the wrong return value for this; 1366 * TODO(adamk): Script is likely the wrong return value for this;
1366 * should return some new Module type. 1367 * should return some new Module type.
1367 */ 1368 */
1368 // TODO(dcarney): deprecate. 1369 static V8_DEPRECATE_SOON(
1369 static Local<Script> CompileModule( 1370 "Use maybe version",
1370 Isolate* isolate, Source* source, 1371 Local<Script> CompileModule(Isolate* isolate, Source* source,
1371 CompileOptions options = kNoCompileOptions); 1372 CompileOptions options = kNoCompileOptions));
1372 static MaybeLocal<Script> CompileModule( 1373 static MaybeLocal<Script> CompileModule(
1373 Local<Context> context, Source* source, 1374 Local<Context> context, Source* source,
1374 CompileOptions options = kNoCompileOptions); 1375 CompileOptions options = kNoCompileOptions);
1375 1376
1376 /** 1377 /**
1377 * Compile a function for a given context. This is equivalent to running 1378 * Compile a function for a given context. This is equivalent to running
1378 * 1379 *
1379 * with (obj) { 1380 * with (obj) {
1380 * return function(args) { ... } 1381 * return function(args) { ... }
1381 * } 1382 * }
1382 * 1383 *
1383 * It is possible to specify multiple context extensions (obj in the above 1384 * It is possible to specify multiple context extensions (obj in the above
1384 * example). 1385 * example).
1385 */ 1386 */
1386 // TODO(dcarney): deprecate. 1387 static V8_DEPRECATE_SOON("Use maybe version",
1387 static Local<Function> CompileFunctionInContext( 1388 Local<Function> CompileFunctionInContext(
1388 Isolate* isolate, Source* source, Local<Context> context, 1389 Isolate* isolate, Source* source,
1389 size_t arguments_count, Local<String> arguments[], 1390 Local<Context> context, size_t arguments_count,
1390 size_t context_extension_count, Local<Object> context_extensions[]); 1391 Local<String> arguments[],
1392 size_t context_extension_count,
1393 Local<Object> context_extensions[]));
1391 static MaybeLocal<Function> CompileFunctionInContext( 1394 static MaybeLocal<Function> CompileFunctionInContext(
1392 Local<Context> context, Source* source, size_t arguments_count, 1395 Local<Context> context, Source* source, size_t arguments_count,
1393 Local<String> arguments[], size_t context_extension_count, 1396 Local<String> arguments[], size_t context_extension_count,
1394 Local<Object> context_extensions[]); 1397 Local<Object> context_extensions[]);
1395 1398
1396 private: 1399 private:
1397 static MaybeLocal<UnboundScript> CompileUnboundInternal( 1400 static MaybeLocal<UnboundScript> CompileUnboundInternal(
1398 Isolate* isolate, Source* source, CompileOptions options, bool is_module); 1401 Isolate* isolate, Source* source, CompileOptions options, bool is_module);
1399 }; 1402 };
1400 1403
1401 1404
1402 /** 1405 /**
1403 * An error message. 1406 * An error message.
1404 */ 1407 */
1405 class V8_EXPORT Message { 1408 class V8_EXPORT Message {
1406 public: 1409 public:
1407 Local<String> Get() const; 1410 Local<String> Get() const;
1408 1411
1409 // TODO(dcarney): deprecate 1412 V8_DEPRECATE_SOON("Use maybe version", Local<String> GetSourceLine()) const;
1410 Local<String> GetSourceLine() const;
1411 MaybeLocal<String> GetSourceLine(Local<Context> context) const; 1413 MaybeLocal<String> GetSourceLine(Local<Context> context) const;
1412 1414
1413 /** 1415 /**
1414 * Returns the origin for the script from where the function causing the 1416 * Returns the origin for the script from where the function causing the
1415 * error originates. 1417 * error originates.
1416 */ 1418 */
1417 ScriptOrigin GetScriptOrigin() const; 1419 ScriptOrigin GetScriptOrigin() const;
1418 1420
1419 /** 1421 /**
1420 * Returns the resource name for the script from where the function causing 1422 * Returns the resource name for the script from where the function causing
1421 * the error originates. 1423 * the error originates.
1422 */ 1424 */
1423 Handle<Value> GetScriptResourceName() const; 1425 Handle<Value> GetScriptResourceName() const;
1424 1426
1425 /** 1427 /**
1426 * Exception stack trace. By default stack traces are not captured for 1428 * Exception stack trace. By default stack traces are not captured for
1427 * uncaught exceptions. SetCaptureStackTraceForUncaughtExceptions allows 1429 * uncaught exceptions. SetCaptureStackTraceForUncaughtExceptions allows
1428 * to change this option. 1430 * to change this option.
1429 */ 1431 */
1430 Handle<StackTrace> GetStackTrace() const; 1432 Handle<StackTrace> GetStackTrace() const;
1431 1433
1432 /** 1434 /**
1433 * Returns the number, 1-based, of the line where the error occurred. 1435 * Returns the number, 1-based, of the line where the error occurred.
1434 */ 1436 */
1435 // TODO(dcarney): deprecate 1437 V8_DEPRECATE_SOON("Use maybe version", int GetLineNumber()) const;
1436 int GetLineNumber() const;
1437 Maybe<int> GetLineNumber(Local<Context> context) const; 1438 Maybe<int> GetLineNumber(Local<Context> context) const;
1438 1439
1439 /** 1440 /**
1440 * Returns the index within the script of the first character where 1441 * Returns the index within the script of the first character where
1441 * the error occurred. 1442 * the error occurred.
1442 */ 1443 */
1443 int GetStartPosition() const; 1444 int GetStartPosition() const;
1444 1445
1445 /** 1446 /**
1446 * Returns the index within the script of the last character where 1447 * Returns the index within the script of the last character where
1447 * the error occurred. 1448 * the error occurred.
1448 */ 1449 */
1449 int GetEndPosition() const; 1450 int GetEndPosition() const;
1450 1451
1451 /** 1452 /**
1452 * Returns the index within the line of the first character where 1453 * Returns the index within the line of the first character where
1453 * the error occurred. 1454 * the error occurred.
1454 */ 1455 */
1455 // TODO(dcarney): deprecate 1456 V8_DEPRECATE_SOON("Use maybe version", int GetStartColumn()) const;
1456 int GetStartColumn() const;
1457 Maybe<int> GetStartColumn(Local<Context> context) const; 1457 Maybe<int> GetStartColumn(Local<Context> context) const;
1458 1458
1459 /** 1459 /**
1460 * Returns the index within the line of the last character where 1460 * Returns the index within the line of the last character where
1461 * the error occurred. 1461 * the error occurred.
1462 */ 1462 */
1463 // TODO(dcarney): deprecate 1463 V8_DEPRECATE_SOON("Use maybe version", int GetEndColumn()) const;
1464 int GetEndColumn() const;
1465 Maybe<int> GetEndColumn(Local<Context> context) const; 1464 Maybe<int> GetEndColumn(Local<Context> context) const;
1466 1465
1467 /** 1466 /**
1468 * Passes on the value set by the embedder when it fed the script from which 1467 * Passes on the value set by the embedder when it fed the script from which
1469 * this Message was generated to V8. 1468 * this Message was generated to V8.
1470 */ 1469 */
1471 bool IsSharedCrossOrigin() const; 1470 bool IsSharedCrossOrigin() const;
1472 1471
1473 // TODO(1245381): Print to a string instead of on a FILE. 1472 // TODO(1245381): Print to a string instead of on a FILE.
1474 static void PrintCurrentStackTrace(Isolate* isolate, FILE* out); 1473 static void PrintCurrentStackTrace(Isolate* isolate, FILE* out);
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1622 */ 1621 */
1623 class V8_EXPORT JSON { 1622 class V8_EXPORT JSON {
1624 public: 1623 public:
1625 /** 1624 /**
1626 * Tries to parse the string |json_string| and returns it as value if 1625 * Tries to parse the string |json_string| and returns it as value if
1627 * successful. 1626 * successful.
1628 * 1627 *
1629 * \param json_string The string to parse. 1628 * \param json_string The string to parse.
1630 * \return The corresponding value if successfully parsed. 1629 * \return The corresponding value if successfully parsed.
1631 */ 1630 */
1632 // TODO(dcarney): deprecate 1631 static V8_DEPRECATE_SOON("Use maybe version",
1633 static Local<Value> Parse(Local<String> json_string); 1632 Local<Value> Parse(Local<String> json_string));
1634 static MaybeLocal<Value> Parse(Isolate* isolate, Local<String> json_string); 1633 static MaybeLocal<Value> Parse(Isolate* isolate, Local<String> json_string);
1635 }; 1634 };
1636 1635
1637 1636
1638 /** 1637 /**
1639 * A map whose keys are referenced weakly. It is similar to JavaScript WeakMap 1638 * A map whose keys are referenced weakly. It is similar to JavaScript WeakMap
1640 * but can be created without entering a v8::Context and hence shouldn't 1639 * but can be created without entering a v8::Context and hence shouldn't
1641 * escape to JavaScript. 1640 * escape to JavaScript.
1642 */ 1641 */
1643 class V8_EXPORT NativeWeakMap : public Data { 1642 class V8_EXPORT NativeWeakMap : public Data {
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 1912
1914 MaybeLocal<Boolean> ToBoolean(Local<Context> context) const; 1913 MaybeLocal<Boolean> ToBoolean(Local<Context> context) const;
1915 MaybeLocal<Number> ToNumber(Local<Context> context) const; 1914 MaybeLocal<Number> ToNumber(Local<Context> context) const;
1916 MaybeLocal<String> ToString(Local<Context> context) const; 1915 MaybeLocal<String> ToString(Local<Context> context) const;
1917 MaybeLocal<String> ToDetailString(Local<Context> context) const; 1916 MaybeLocal<String> ToDetailString(Local<Context> context) const;
1918 MaybeLocal<Object> ToObject(Local<Context> context) const; 1917 MaybeLocal<Object> ToObject(Local<Context> context) const;
1919 MaybeLocal<Integer> ToInteger(Local<Context> context) const; 1918 MaybeLocal<Integer> ToInteger(Local<Context> context) const;
1920 MaybeLocal<Uint32> ToUint32(Local<Context> context) const; 1919 MaybeLocal<Uint32> ToUint32(Local<Context> context) const;
1921 MaybeLocal<Int32> ToInt32(Local<Context> context) const; 1920 MaybeLocal<Int32> ToInt32(Local<Context> context) const;
1922 1921
1923 // TODO(dcarney): deprecate all these. 1922 V8_DEPRECATE_SOON("Use maybe version",
1924 Local<Boolean> ToBoolean(Isolate* isolate) const; 1923 Local<Boolean> ToBoolean(Isolate* isolate)) const;
1925 Local<Number> ToNumber(Isolate* isolate) const; 1924 V8_DEPRECATE_SOON("Use maybe version",
1926 Local<String> ToString(Isolate* isolate) const; 1925 Local<Number> ToNumber(Isolate* isolate)) const;
1927 Local<String> ToDetailString(Isolate* isolate) const; 1926 V8_DEPRECATE_SOON("Use maybe version",
1928 Local<Object> ToObject(Isolate* isolate) const; 1927 Local<String> ToString(Isolate* isolate)) const;
1929 Local<Integer> ToInteger(Isolate* isolate) const; 1928 V8_DEPRECATE_SOON("Use maybe version",
1930 Local<Uint32> ToUint32(Isolate* isolate) const; 1929 Local<String> ToDetailString(Isolate* isolate)) const;
1931 Local<Int32> ToInt32(Isolate* isolate) const; 1930 V8_DEPRECATE_SOON("Use maybe version",
1931 Local<Object> ToObject(Isolate* isolate)) const;
1932 V8_DEPRECATE_SOON("Use maybe version",
1933 Local<Integer> ToInteger(Isolate* isolate)) const;
1934 V8_DEPRECATE_SOON("Use maybe version",
1935 Local<Uint32> ToUint32(Isolate* isolate)) const;
1936 V8_DEPRECATE_SOON("Use maybe version",
1937 Local<Int32> ToInt32(Isolate* isolate)) const;
1932 1938
1933 // TODO(dcarney): deprecate all these as well. 1939 inline V8_DEPRECATE_SOON("Use maybe version",
1934 inline Local<Boolean> ToBoolean() const; 1940 Local<Boolean> ToBoolean()) const;
1935 inline Local<Number> ToNumber() const; 1941 inline V8_DEPRECATE_SOON("Use maybe version", Local<Number> ToNumber()) const;
1936 inline Local<String> ToString() const; 1942 inline V8_DEPRECATE_SOON("Use maybe version", Local<String> ToString()) const;
1937 inline Local<String> ToDetailString() const; 1943 inline V8_DEPRECATE_SOON("Use maybe version",
1938 inline Local<Object> ToObject() const; 1944 Local<String> ToDetailString()) const;
1939 inline Local<Integer> ToInteger() const; 1945 inline V8_DEPRECATE_SOON("Use maybe version", Local<Object> ToObject()) const;
1940 inline Local<Uint32> ToUint32() const; 1946 inline V8_DEPRECATE_SOON("Use maybe version",
1941 inline Local<Int32> ToInt32() const; 1947 Local<Integer> ToInteger()) const;
1948 inline V8_DEPRECATE_SOON("Use maybe version", Local<Uint32> ToUint32()) const;
1949 inline V8_DEPRECATE_SOON("Use maybe version", Local<Int32> ToInt32()) const;
1942 1950
1943 /** 1951 /**
1944 * Attempts to convert a string to an array index. 1952 * Attempts to convert a string to an array index.
1945 * Returns an empty handle if the conversion fails. 1953 * Returns an empty handle if the conversion fails.
1946 */ 1954 */
1947 // TODO(dcarney): deprecate. 1955 V8_DEPRECATE_SOON("Use maybe version", Local<Uint32> ToArrayIndex()) const;
1948 Local<Uint32> ToArrayIndex() const;
1949 MaybeLocal<Uint32> ToArrayIndex(Local<Context> context) const; 1956 MaybeLocal<Uint32> ToArrayIndex(Local<Context> context) const;
1950 1957
1951 Maybe<bool> BooleanValue(Local<Context> context) const; 1958 Maybe<bool> BooleanValue(Local<Context> context) const;
1952 Maybe<double> NumberValue(Local<Context> context) const; 1959 Maybe<double> NumberValue(Local<Context> context) const;
1953 Maybe<int64_t> IntegerValue(Local<Context> context) const; 1960 Maybe<int64_t> IntegerValue(Local<Context> context) const;
1954 Maybe<uint32_t> Uint32Value(Local<Context> context) const; 1961 Maybe<uint32_t> Uint32Value(Local<Context> context) const;
1955 Maybe<int32_t> Int32Value(Local<Context> context) const; 1962 Maybe<int32_t> Int32Value(Local<Context> context) const;
1956 1963
1957 // TODO(dcarney): deprecate all these. 1964 V8_DEPRECATE_SOON("Use maybe version", bool BooleanValue()) const;
1958 bool BooleanValue() const; 1965 V8_DEPRECATE_SOON("Use maybe version", double NumberValue()) const;
1959 double NumberValue() const; 1966 V8_DEPRECATE_SOON("Use maybe version", int64_t IntegerValue()) const;
1960 int64_t IntegerValue() const; 1967 V8_DEPRECATE_SOON("Use maybe version", uint32_t Uint32Value()) const;
1961 uint32_t Uint32Value() const; 1968 V8_DEPRECATE_SOON("Use maybe version", int32_t Int32Value()) const;
1962 int32_t Int32Value() const;
1963 1969
1964 /** JS == */ 1970 /** JS == */
1965 // TODO(dcarney): deprecate. 1971 V8_DEPRECATE_SOON("Use maybe version", bool Equals(Handle<Value> that)) const;
1966 bool Equals(Handle<Value> that) const;
1967 Maybe<bool> Equals(Local<Context> context, Handle<Value> that) const; 1972 Maybe<bool> Equals(Local<Context> context, Handle<Value> that) const;
1968 bool StrictEquals(Handle<Value> that) const; 1973 bool StrictEquals(Handle<Value> that) const;
1969 bool SameValue(Handle<Value> that) const; 1974 bool SameValue(Handle<Value> that) const;
1970 1975
1971 template <class T> V8_INLINE static Value* Cast(T* value); 1976 template <class T> V8_INLINE static Value* Cast(T* value);
1972 1977
1973 private: 1978 private:
1974 V8_INLINE bool QuickIsUndefined() const; 1979 V8_INLINE bool QuickIsUndefined() const;
1975 V8_INLINE bool QuickIsNull() const; 1980 V8_INLINE bool QuickIsNull() const;
1976 V8_INLINE bool QuickIsString() const; 1981 V8_INLINE bool QuickIsString() const;
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
2532 ALL_CAN_WRITE = 1 << 1, 2537 ALL_CAN_WRITE = 1 << 1,
2533 PROHIBITS_OVERWRITING = 1 << 2 2538 PROHIBITS_OVERWRITING = 1 << 2
2534 }; 2539 };
2535 2540
2536 2541
2537 /** 2542 /**
2538 * A JavaScript object (ECMA-262, 4.3.3) 2543 * A JavaScript object (ECMA-262, 4.3.3)
2539 */ 2544 */
2540 class V8_EXPORT Object : public Value { 2545 class V8_EXPORT Object : public Value {
2541 public: 2546 public:
2542 // TODO(dcarney): deprecate 2547 V8_DEPRECATE_SOON("Use maybe version",
2543 bool Set(Handle<Value> key, Handle<Value> value); 2548 bool Set(Handle<Value> key, Handle<Value> value));
2544 Maybe<bool> Set(Local<Context> context, Local<Value> key, Local<Value> value); 2549 Maybe<bool> Set(Local<Context> context, Local<Value> key, Local<Value> value);
2545 2550
2546 // TODO(dcarney): deprecate 2551 V8_DEPRECATE_SOON("Use maybe version",
2547 bool Set(uint32_t index, Handle<Value> value); 2552 bool Set(uint32_t index, Handle<Value> value));
2548 Maybe<bool> Set(Local<Context> context, uint32_t index, Local<Value> value); 2553 Maybe<bool> Set(Local<Context> context, uint32_t index, Local<Value> value);
2549 2554
2550 // Sets an own property on this object bypassing interceptors and 2555 // Sets an own property on this object bypassing interceptors and
2551 // overriding accessors or read-only properties. 2556 // overriding accessors or read-only properties.
2552 // 2557 //
2553 // Note that if the object has an interceptor the property will be set 2558 // Note that if the object has an interceptor the property will be set
2554 // locally, but since the interceptor takes precedence the local property 2559 // locally, but since the interceptor takes precedence the local property
2555 // will only be returned if the interceptor doesn't return a value. 2560 // will only be returned if the interceptor doesn't return a value.
2556 // 2561 //
2557 // Note also that this only works for named properties. 2562 // Note also that this only works for named properties.
2558 // TODO(dcarney): deprecate 2563 V8_DEPRECATE_SOON("Use maybe version",
2559 bool ForceSet(Handle<Value> key, 2564 bool ForceSet(Handle<Value> key, Handle<Value> value,
2560 Handle<Value> value, 2565 PropertyAttribute attribs = None));
2561 PropertyAttribute attribs = None);
2562 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key, 2566 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
2563 Local<Value> value, PropertyAttribute attribs = None); 2567 Local<Value> value, PropertyAttribute attribs = None);
2564 2568
2565 // TODO(dcarney): deprecate 2569 V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(Handle<Value> key));
2566 Local<Value> Get(Handle<Value> key);
2567 MaybeLocal<Value> Get(Local<Context> context, Local<Value> key); 2570 MaybeLocal<Value> Get(Local<Context> context, Local<Value> key);
2568 2571
2569 // TODO(dcarney): deprecate 2572 V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index));
2570 Local<Value> Get(uint32_t index);
2571 MaybeLocal<Value> Get(Local<Context> context, uint32_t index); 2573 MaybeLocal<Value> Get(Local<Context> context, uint32_t index);
2572 2574
2573 /** 2575 /**
2574 * Gets the property attributes of a property which can be None or 2576 * Gets the property attributes of a property which can be None or
2575 * any combination of ReadOnly, DontEnum and DontDelete. Returns 2577 * any combination of ReadOnly, DontEnum and DontDelete. Returns
2576 * None when the property doesn't exist. 2578 * None when the property doesn't exist.
2577 */ 2579 */
2578 // TODO(dcarney): deprecate 2580 V8_DEPRECATE_SOON("Use maybe version",
2579 PropertyAttribute GetPropertyAttributes(Handle<Value> key); 2581 PropertyAttribute GetPropertyAttributes(Handle<Value> key));
2580 Maybe<PropertyAttribute> GetPropertyAttributes(Local<Context> context, 2582 Maybe<PropertyAttribute> GetPropertyAttributes(Local<Context> context,
2581 Local<Value> key); 2583 Local<Value> key);
2582 2584
2583 /** 2585 /**
2584 * Returns Object.getOwnPropertyDescriptor as per ES5 section 15.2.3.3. 2586 * Returns Object.getOwnPropertyDescriptor as per ES5 section 15.2.3.3.
2585 */ 2587 */
2586 // TODO(dcarney): deprecate 2588 V8_DEPRECATE_SOON("Use maybe version",
2587 Local<Value> GetOwnPropertyDescriptor(Local<String> key); 2589 Local<Value> GetOwnPropertyDescriptor(Local<String> key));
2588 MaybeLocal<Value> GetOwnPropertyDescriptor(Local<Context> context, 2590 MaybeLocal<Value> GetOwnPropertyDescriptor(Local<Context> context,
2589 Local<String> key); 2591 Local<String> key);
2590 2592
2591 // TODO(dcarney): deprecate 2593 V8_DEPRECATE_SOON("Use maybe version", bool Has(Handle<Value> key));
2592 bool Has(Handle<Value> key);
2593 Maybe<bool> Has(Local<Context> context, Local<Value> key); 2594 Maybe<bool> Has(Local<Context> context, Local<Value> key);
2594 2595
2595 // TODO(dcarney): deprecate 2596 V8_DEPRECATE_SOON("Use maybe version", bool Delete(Handle<Value> key));
2596 bool Delete(Handle<Value> key);
2597 Maybe<bool> Delete(Local<Context> context, Local<Value> key); 2597 Maybe<bool> Delete(Local<Context> context, Local<Value> key);
2598 2598
2599 // TODO(dcarney): deprecate 2599 V8_DEPRECATE_SOON("Use maybe version", bool Has(uint32_t index));
2600 bool Has(uint32_t index);
2601 Maybe<bool> Has(Local<Context> context, uint32_t index); 2600 Maybe<bool> Has(Local<Context> context, uint32_t index);
2602 2601
2603 // TODO(dcarney): deprecate 2602 V8_DEPRECATE_SOON("Use maybe version", bool Delete(uint32_t index));
2604 bool Delete(uint32_t index);
2605 Maybe<bool> Delete(Local<Context> context, uint32_t index); 2603 Maybe<bool> Delete(Local<Context> context, uint32_t index);
2606 2604
2607 // TODO(dcarney): deprecate 2605 V8_DEPRECATE_SOON("Use maybe version",
2608 bool SetAccessor(Handle<String> name, 2606 bool SetAccessor(Handle<String> name,
2609 AccessorGetterCallback getter, 2607 AccessorGetterCallback getter,
2610 AccessorSetterCallback setter = 0, 2608 AccessorSetterCallback setter = 0,
2611 Handle<Value> data = Handle<Value>(), 2609 Handle<Value> data = Handle<Value>(),
2612 AccessControl settings = DEFAULT, 2610 AccessControl settings = DEFAULT,
2613 PropertyAttribute attribute = None); 2611 PropertyAttribute attribute = None));
2614 // TODO(dcarney): deprecate 2612 V8_DEPRECATE_SOON("Use maybe version",
2615 bool SetAccessor(Handle<Name> name, AccessorNameGetterCallback getter, 2613 bool SetAccessor(Handle<Name> name,
2616 AccessorNameSetterCallback setter = 0, 2614 AccessorNameGetterCallback getter,
2617 Handle<Value> data = Handle<Value>(), 2615 AccessorNameSetterCallback setter = 0,
2618 AccessControl settings = DEFAULT, 2616 Handle<Value> data = Handle<Value>(),
2619 PropertyAttribute attribute = None); 2617 AccessControl settings = DEFAULT,
2618 PropertyAttribute attribute = None));
2620 Maybe<bool> SetAccessor(Local<Context> context, Local<Name> name, 2619 Maybe<bool> SetAccessor(Local<Context> context, Local<Name> name,
2621 AccessorNameGetterCallback getter, 2620 AccessorNameGetterCallback getter,
2622 AccessorNameSetterCallback setter = 0, 2621 AccessorNameSetterCallback setter = 0,
2623 MaybeLocal<Value> data = MaybeLocal<Value>(), 2622 MaybeLocal<Value> data = MaybeLocal<Value>(),
2624 AccessControl settings = DEFAULT, 2623 AccessControl settings = DEFAULT,
2625 PropertyAttribute attribute = None); 2624 PropertyAttribute attribute = None);
2626 2625
2627 void SetAccessorProperty(Local<Name> name, 2626 void SetAccessorProperty(Local<Name> name,
2628 Local<Function> getter, 2627 Local<Function> getter,
2629 Handle<Function> setter = Handle<Function>(), 2628 Handle<Function> setter = Handle<Function>(),
(...skipping 11 matching lines...) Expand all
2641 bool SetPrivate(Handle<Private> key, Handle<Value> value); 2640 bool SetPrivate(Handle<Private> key, Handle<Value> value);
2642 bool DeletePrivate(Handle<Private> key); 2641 bool DeletePrivate(Handle<Private> key);
2643 Local<Value> GetPrivate(Handle<Private> key); 2642 Local<Value> GetPrivate(Handle<Private> key);
2644 2643
2645 /** 2644 /**
2646 * Returns an array containing the names of the enumerable properties 2645 * Returns an array containing the names of the enumerable properties
2647 * of this object, including properties from prototype objects. The 2646 * of this object, including properties from prototype objects. The
2648 * array returned by this method contains the same values as would 2647 * array returned by this method contains the same values as would
2649 * be enumerated by a for-in statement over this object. 2648 * be enumerated by a for-in statement over this object.
2650 */ 2649 */
2651 // TODO(dcarney): deprecate 2650 V8_DEPRECATE_SOON("Use maybe version", Local<Array> GetPropertyNames());
2652 Local<Array> GetPropertyNames();
2653 MaybeLocal<Array> GetPropertyNames(Local<Context> context); 2651 MaybeLocal<Array> GetPropertyNames(Local<Context> context);
2654 2652
2655 /** 2653 /**
2656 * This function has the same functionality as GetPropertyNames but 2654 * This function has the same functionality as GetPropertyNames but
2657 * the returned array doesn't contain the names of properties from 2655 * the returned array doesn't contain the names of properties from
2658 * prototype objects. 2656 * prototype objects.
2659 */ 2657 */
2660 // TODO(dcarney): deprecate 2658 V8_DEPRECATE_SOON("Use maybe version", Local<Array> GetOwnPropertyNames());
2661 Local<Array> GetOwnPropertyNames();
2662 MaybeLocal<Array> GetOwnPropertyNames(Local<Context> context); 2659 MaybeLocal<Array> GetOwnPropertyNames(Local<Context> context);
2663 2660
2664 /** 2661 /**
2665 * Get the prototype object. This does not skip objects marked to 2662 * Get the prototype object. This does not skip objects marked to
2666 * be skipped by __proto__ and it does not consult the security 2663 * be skipped by __proto__ and it does not consult the security
2667 * handler. 2664 * handler.
2668 */ 2665 */
2669 Local<Value> GetPrototype(); 2666 Local<Value> GetPrototype();
2670 2667
2671 /** 2668 /**
2672 * Set the prototype object. This does not skip objects marked to 2669 * Set the prototype object. This does not skip objects marked to
2673 * be skipped by __proto__ and it does not consult the security 2670 * be skipped by __proto__ and it does not consult the security
2674 * handler. 2671 * handler.
2675 */ 2672 */
2676 // TODO(dcarney): deprecate 2673 V8_DEPRECATE_SOON("Use maybe version",
2677 bool SetPrototype(Handle<Value> prototype); 2674 bool SetPrototype(Handle<Value> prototype));
2678 Maybe<bool> SetPrototype(Local<Context> context, Local<Value> prototype); 2675 Maybe<bool> SetPrototype(Local<Context> context, Local<Value> prototype);
2679 2676
2680 /** 2677 /**
2681 * Finds an instance of the given function template in the prototype 2678 * Finds an instance of the given function template in the prototype
2682 * chain. 2679 * chain.
2683 */ 2680 */
2684 Local<Object> FindInstanceInPrototypeChain(Handle<FunctionTemplate> tmpl); 2681 Local<Object> FindInstanceInPrototypeChain(Handle<FunctionTemplate> tmpl);
2685 2682
2686 /** 2683 /**
2687 * Call builtin Object.prototype.toString on this object. 2684 * Call builtin Object.prototype.toString on this object.
2688 * This is different from Value::ToString() that may call 2685 * This is different from Value::ToString() that may call
2689 * user-defined toString function. This one does not. 2686 * user-defined toString function. This one does not.
2690 */ 2687 */
2691 // TODO(dcarney): deprecate 2688 V8_DEPRECATE_SOON("Use maybe version", Local<String> ObjectProtoToString());
2692 Local<String> ObjectProtoToString();
2693 MaybeLocal<String> ObjectProtoToString(Local<Context> context); 2689 MaybeLocal<String> ObjectProtoToString(Local<Context> context);
2694 2690
2695 /** 2691 /**
2696 * Returns the name of the function invoked as a constructor for this object. 2692 * Returns the name of the function invoked as a constructor for this object.
2697 */ 2693 */
2698 Local<String> GetConstructorName(); 2694 Local<String> GetConstructorName();
2699 2695
2700 /** Gets the number of internal fields for this Object. */ 2696 /** Gets the number of internal fields for this Object. */
2701 int InternalFieldCount(); 2697 int InternalFieldCount();
2702 2698
(...skipping 23 matching lines...) Expand all
2726 } 2722 }
2727 2723
2728 /** 2724 /**
2729 * Sets a 2-byte-aligned native pointer in an internal field. To retrieve such 2725 * Sets a 2-byte-aligned native pointer in an internal field. To retrieve such
2730 * a field, GetAlignedPointerFromInternalField must be used, everything else 2726 * a field, GetAlignedPointerFromInternalField must be used, everything else
2731 * leads to undefined behavior. 2727 * leads to undefined behavior.
2732 */ 2728 */
2733 void SetAlignedPointerInInternalField(int index, void* value); 2729 void SetAlignedPointerInInternalField(int index, void* value);
2734 2730
2735 // Testers for local properties. 2731 // Testers for local properties.
2736 // TODO(dcarney): deprecate 2732 V8_DEPRECATE_SOON("Use maybe version",
2737 bool HasOwnProperty(Handle<String> key); 2733 bool HasOwnProperty(Handle<String> key));
2738 Maybe<bool> HasOwnProperty(Local<Context> context, Local<Name> key); 2734 Maybe<bool> HasOwnProperty(Local<Context> context, Local<Name> key);
2739 // TODO(dcarney): deprecate 2735 V8_DEPRECATE_SOON("Use maybe version",
2740 bool HasRealNamedProperty(Handle<String> key); 2736 bool HasRealNamedProperty(Handle<String> key));
2741 Maybe<bool> HasRealNamedProperty(Local<Context> context, Local<Name> key); 2737 Maybe<bool> HasRealNamedProperty(Local<Context> context, Local<Name> key);
2742 // TODO(dcarney): deprecate 2738 V8_DEPRECATE_SOON("Use maybe version",
2743 bool HasRealIndexedProperty(uint32_t index); 2739 bool HasRealIndexedProperty(uint32_t index));
2744 Maybe<bool> HasRealIndexedProperty(Local<Context> context, uint32_t index); 2740 Maybe<bool> HasRealIndexedProperty(Local<Context> context, uint32_t index);
2745 // TODO(dcarney): deprecate 2741 V8_DEPRECATE_SOON("Use maybe version",
2746 bool HasRealNamedCallbackProperty(Handle<String> key); 2742 bool HasRealNamedCallbackProperty(Handle<String> key));
2747 Maybe<bool> HasRealNamedCallbackProperty(Local<Context> context, 2743 Maybe<bool> HasRealNamedCallbackProperty(Local<Context> context,
2748 Local<Name> key); 2744 Local<Name> key);
2749 2745
2750 /** 2746 /**
2751 * If result.IsEmpty() no real property was located in the prototype chain. 2747 * If result.IsEmpty() no real property was located in the prototype chain.
2752 * This means interceptors in the prototype chain are not called. 2748 * This means interceptors in the prototype chain are not called.
2753 */ 2749 */
2754 // TODO(dcarney): deprecate 2750 V8_DEPRECATE_SOON(
2755 Local<Value> GetRealNamedPropertyInPrototypeChain(Handle<String> key); 2751 "Use maybe version",
2752 Local<Value> GetRealNamedPropertyInPrototypeChain(Handle<String> key));
2756 MaybeLocal<Value> GetRealNamedPropertyInPrototypeChain(Local<Context> context, 2753 MaybeLocal<Value> GetRealNamedPropertyInPrototypeChain(Local<Context> context,
2757 Local<Name> key); 2754 Local<Name> key);
2758 2755
2759 /** 2756 /**
2760 * Gets the property attributes of a real property in the prototype chain, 2757 * Gets the property attributes of a real property in the prototype chain,
2761 * which can be None or any combination of ReadOnly, DontEnum and DontDelete. 2758 * which can be None or any combination of ReadOnly, DontEnum and DontDelete.
2762 * Interceptors in the prototype chain are not called. 2759 * Interceptors in the prototype chain are not called.
2763 */ 2760 */
2764 // TODO(dcarney): deprecate 2761 V8_DEPRECATE_SOON(
2765 Maybe<PropertyAttribute> GetRealNamedPropertyAttributesInPrototypeChain( 2762 "Use maybe version",
2766 Handle<String> key); 2763 Maybe<PropertyAttribute> GetRealNamedPropertyAttributesInPrototypeChain(
2764 Handle<String> key));
2767 Maybe<PropertyAttribute> GetRealNamedPropertyAttributesInPrototypeChain( 2765 Maybe<PropertyAttribute> GetRealNamedPropertyAttributesInPrototypeChain(
2768 Local<Context> context, Local<Name> key); 2766 Local<Context> context, Local<Name> key);
2769 2767
2770 /** 2768 /**
2771 * If result.IsEmpty() no real property was located on the object or 2769 * If result.IsEmpty() no real property was located on the object or
2772 * in the prototype chain. 2770 * in the prototype chain.
2773 * This means interceptors in the prototype chain are not called. 2771 * This means interceptors in the prototype chain are not called.
2774 */ 2772 */
2775 // TODO(dcarney): deprecate 2773 V8_DEPRECATE_SOON("Use maybe version",
2776 Local<Value> GetRealNamedProperty(Handle<String> key); 2774 Local<Value> GetRealNamedProperty(Handle<String> key));
2777 MaybeLocal<Value> GetRealNamedProperty(Local<Context> context, 2775 MaybeLocal<Value> GetRealNamedProperty(Local<Context> context,
2778 Local<Name> key); 2776 Local<Name> key);
2779 2777
2780 /** 2778 /**
2781 * Gets the property attributes of a real property which can be 2779 * Gets the property attributes of a real property which can be
2782 * None or any combination of ReadOnly, DontEnum and DontDelete. 2780 * None or any combination of ReadOnly, DontEnum and DontDelete.
2783 * Interceptors in the prototype chain are not called. 2781 * Interceptors in the prototype chain are not called.
2784 */ 2782 */
2785 // TODO(dcarney): deprecate 2783 V8_DEPRECATE_SOON("Use maybe version",
2786 Maybe<PropertyAttribute> GetRealNamedPropertyAttributes(Handle<String> key); 2784 Maybe<PropertyAttribute> GetRealNamedPropertyAttributes(
2785 Handle<String> key));
2787 Maybe<PropertyAttribute> GetRealNamedPropertyAttributes( 2786 Maybe<PropertyAttribute> GetRealNamedPropertyAttributes(
2788 Local<Context> context, Local<Name> key); 2787 Local<Context> context, Local<Name> key);
2789 2788
2790 /** Tests for a named lookup interceptor.*/ 2789 /** Tests for a named lookup interceptor.*/
2791 bool HasNamedLookupInterceptor(); 2790 bool HasNamedLookupInterceptor();
2792 2791
2793 /** Tests for an index lookup interceptor.*/ 2792 /** Tests for an index lookup interceptor.*/
2794 bool HasIndexedLookupInterceptor(); 2793 bool HasIndexedLookupInterceptor();
2795 2794
2796 /** 2795 /**
2797 * Turns on access check on the object if the object is an instance of 2796 * Turns on access check on the object if the object is an instance of
2798 * a template that has access check callbacks. If an object has no 2797 * a template that has access check callbacks. If an object has no
2799 * access check info, the object cannot be accessed by anyone. 2798 * access check info, the object cannot be accessed by anyone.
2800 */ 2799 */
2801 // TODO(dcarney): deprecate 2800 V8_DEPRECATE_SOON("No alternative", void TurnOnAccessCheck());
2802 void TurnOnAccessCheck();
2803 2801
2804 /** 2802 /**
2805 * Returns the identity hash for this object. The current implementation 2803 * Returns the identity hash for this object. The current implementation
2806 * uses a hidden property on the object to store the identity hash. 2804 * uses a hidden property on the object to store the identity hash.
2807 * 2805 *
2808 * The return value will never be 0. Also, it is not guaranteed to be 2806 * The return value will never be 0. Also, it is not guaranteed to be
2809 * unique. 2807 * unique.
2810 */ 2808 */
2811 int GetIdentityHash(); 2809 int GetIdentityHash();
2812 2810
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
2882 * ObjectTemplate::SetCallAsFunctionHandler method. 2880 * ObjectTemplate::SetCallAsFunctionHandler method.
2883 * Note: This method behaves like the Function::NewInstance method. 2881 * Note: This method behaves like the Function::NewInstance method.
2884 */ 2882 */
2885 Local<Value> CallAsConstructor(int argc, Handle<Value> argv[]); 2883 Local<Value> CallAsConstructor(int argc, Handle<Value> argv[]);
2886 MaybeLocal<Value> CallAsConstructor(Local<Context> context, int argc, 2884 MaybeLocal<Value> CallAsConstructor(Local<Context> context, int argc,
2887 Local<Value> argv[]); 2885 Local<Value> argv[]);
2888 2886
2889 /** 2887 /**
2890 * Return the isolate to which the Object belongs to. 2888 * Return the isolate to which the Object belongs to.
2891 */ 2889 */
2892 // TODO(dcarney): deprecate - this is an implementation detail. 2890 V8_DEPRECATE_SOON("Keep track of isolate correctly", Isolate* GetIsolate());
2893 Isolate* GetIsolate();
2894 2891
2895 static Local<Object> New(Isolate* isolate); 2892 static Local<Object> New(Isolate* isolate);
2896 2893
2897 V8_INLINE static Object* Cast(Value* obj); 2894 V8_INLINE static Object* Cast(Value* obj);
2898 2895
2899 private: 2896 private:
2900 Object(); 2897 Object();
2901 static void CheckCast(Value* obj); 2898 static void CheckCast(Value* obj);
2902 Local<Value> SlowGetInternalField(int index); 2899 Local<Value> SlowGetInternalField(int index);
2903 void* SlowGetAlignedPointerFromInternalField(int index); 2900 void* SlowGetAlignedPointerFromInternalField(int index);
(...skipping 1257 matching lines...) Expand 10 before | Expand all | Expand 10 after
4161 /** 4158 /**
4162 * An ObjectTemplate is used to create objects at runtime. 4159 * An ObjectTemplate is used to create objects at runtime.
4163 * 4160 *
4164 * Properties added to an ObjectTemplate are added to each object 4161 * Properties added to an ObjectTemplate are added to each object
4165 * created from the ObjectTemplate. 4162 * created from the ObjectTemplate.
4166 */ 4163 */
4167 class V8_EXPORT ObjectTemplate : public Template { 4164 class V8_EXPORT ObjectTemplate : public Template {
4168 public: 4165 public:
4169 /** Creates an ObjectTemplate. */ 4166 /** Creates an ObjectTemplate. */
4170 static Local<ObjectTemplate> New(Isolate* isolate); 4167 static Local<ObjectTemplate> New(Isolate* isolate);
4171 // Will be deprecated soon. 4168 static V8_DEPRECATE_SOON("Use isolate version", Local<ObjectTemplate> New());
4172 static Local<ObjectTemplate> New();
4173 4169
4174 /** Creates a new instance of this template.*/ 4170 /** Creates a new instance of this template.*/
4175 Local<Object> NewInstance(); 4171 Local<Object> NewInstance();
4176 4172
4177 /** 4173 /**
4178 * Sets an accessor on the object template. 4174 * Sets an accessor on the object template.
4179 * 4175 *
4180 * Whenever the property with the given name is accessed on objects 4176 * Whenever the property with the given name is accessed on objects
4181 * created from this ObjectTemplate the getter and setter callbacks 4177 * created from this ObjectTemplate the getter and setter callbacks
4182 * are called instead of getting and setting the property directly 4178 * are called instead of getting and setting the property directly
(...skipping 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after
5511 typedef uintptr_t (*ReturnAddressLocationResolver)( 5507 typedef uintptr_t (*ReturnAddressLocationResolver)(
5512 uintptr_t return_addr_location); 5508 uintptr_t return_addr_location);
5513 5509
5514 5510
5515 /** 5511 /**
5516 * Container class for static utility functions. 5512 * Container class for static utility functions.
5517 */ 5513 */
5518 class V8_EXPORT V8 { 5514 class V8_EXPORT V8 {
5519 public: 5515 public:
5520 /** Set the callback to invoke in case of fatal errors. */ 5516 /** Set the callback to invoke in case of fatal errors. */
5521 // TODO(dcarney): deprecate this. 5517 V8_INLINE static V8_DEPRECATE_SOON(
5522 V8_INLINE static void SetFatalErrorHandler(FatalErrorCallback that); 5518 "Use isolate version",
5519 void SetFatalErrorHandler(FatalErrorCallback that));
5523 5520
5524 /** 5521 /**
5525 * Set the callback to invoke to check if code generation from 5522 * Set the callback to invoke to check if code generation from
5526 * strings should be allowed. 5523 * strings should be allowed.
5527 */ 5524 */
5528 // TODO(dcarney): deprecate this. 5525 V8_INLINE static V8_DEPRECATE_SOON(
5529 V8_INLINE static void SetAllowCodeGenerationFromStringsCallback( 5526 "Use isolate version", void SetAllowCodeGenerationFromStringsCallback(
5530 AllowCodeGenerationFromStringsCallback that); 5527 AllowCodeGenerationFromStringsCallback that));
5531 5528
5532 /** 5529 /**
5533 * Set allocator to use for ArrayBuffer memory. 5530 * Set allocator to use for ArrayBuffer memory.
5534 * The allocator should be set only once. The allocator should be set 5531 * The allocator should be set only once. The allocator should be set
5535 * before any code tha uses ArrayBuffers is executed. 5532 * before any code tha uses ArrayBuffers is executed.
5536 * This allocator is used in all isolates. 5533 * This allocator is used in all isolates.
5537 */ 5534 */
5538 static void SetArrayBufferAllocator(ArrayBuffer::Allocator* allocator); 5535 static void SetArrayBufferAllocator(ArrayBuffer::Allocator* allocator);
5539 5536
5540 /** 5537 /**
5541 * Check if V8 is dead and therefore unusable. This is the case after 5538 * Check if V8 is dead and therefore unusable. This is the case after
5542 * fatal errors such as out-of-memory situations. 5539 * fatal errors such as out-of-memory situations.
5543 */ 5540 */
5544 // TODO(dcarney): deprecate this. 5541 V8_INLINE static V8_DEPRECATE_SOON("no alternative", bool IsDead());
5545 V8_INLINE static bool IsDead();
5546 5542
5547 /** 5543 /**
5548 * Hand startup data to V8, in case the embedder has chosen to build 5544 * Hand startup data to V8, in case the embedder has chosen to build
5549 * V8 with external startup data. 5545 * V8 with external startup data.
5550 * 5546 *
5551 * Note: 5547 * Note:
5552 * - By default the startup data is linked into the V8 library, in which 5548 * - By default the startup data is linked into the V8 library, in which
5553 * case this function is not meaningful. 5549 * case this function is not meaningful.
5554 * - If this needs to be called, it needs to be called before V8 5550 * - If this needs to be called, it needs to be called before V8
5555 * tries to make use of its built-ins. 5551 * tries to make use of its built-ins.
(...skipping 15 matching lines...) Expand all
5571 5567
5572 /** 5568 /**
5573 * Adds a message listener. 5569 * Adds a message listener.
5574 * 5570 *
5575 * The same message listener can be added more than once and in that 5571 * The same message listener can be added more than once and in that
5576 * case it will be called more than once for each message. 5572 * case it will be called more than once for each message.
5577 * 5573 *
5578 * If data is specified, it will be passed to the callback when it is called. 5574 * If data is specified, it will be passed to the callback when it is called.
5579 * Otherwise, the exception object will be passed to the callback instead. 5575 * Otherwise, the exception object will be passed to the callback instead.
5580 */ 5576 */
5581 // TODO(dcarney): deprecate this. 5577 V8_INLINE static V8_DEPRECATE_SOON(
5582 V8_INLINE static bool AddMessageListener( 5578 "Use isolate version",
5583 MessageCallback that, Handle<Value> data = Handle<Value>()); 5579 bool AddMessageListener(MessageCallback that,
5580 Handle<Value> data = Handle<Value>()));
5584 5581
5585 /** 5582 /**
5586 * Remove all message listeners from the specified callback function. 5583 * Remove all message listeners from the specified callback function.
5587 */ 5584 */
5588 // TODO(dcarney): deprecate this. 5585 V8_INLINE static V8_DEPRECATE_SOON(
5589 V8_INLINE static void RemoveMessageListeners(MessageCallback that); 5586 "Use isolate version", void RemoveMessageListeners(MessageCallback that));
5590 5587
5591 /** 5588 /**
5592 * Tells V8 to capture current stack trace when uncaught exception occurs 5589 * Tells V8 to capture current stack trace when uncaught exception occurs
5593 * and report it to the message listeners. The option is off by default. 5590 * and report it to the message listeners. The option is off by default.
5594 */ 5591 */
5595 // TODO(dcarney): deprecate this. 5592 V8_INLINE static V8_DEPRECATE_SOON(
5596 V8_INLINE static void SetCaptureStackTraceForUncaughtExceptions( 5593 "Use isolate version",
5597 bool capture, int frame_limit = 10, 5594 void SetCaptureStackTraceForUncaughtExceptions(
5598 StackTrace::StackTraceOptions options = StackTrace::kOverview); 5595 bool capture, int frame_limit = 10,
5596 StackTrace::StackTraceOptions options = StackTrace::kOverview));
5599 5597
5600 /** 5598 /**
5601 * Sets V8 flags from a string. 5599 * Sets V8 flags from a string.
5602 */ 5600 */
5603 static void SetFlagsFromString(const char* str, int length); 5601 static void SetFlagsFromString(const char* str, int length);
5604 5602
5605 /** 5603 /**
5606 * Sets V8 flags from the command line. 5604 * Sets V8 flags from the command line.
5607 */ 5605 */
5608 static void SetFlagsFromCommandLine(int* argc, 5606 static void SetFlagsFromCommandLine(int* argc,
5609 char** argv, 5607 char** argv,
5610 bool remove_flags); 5608 bool remove_flags);
5611 5609
5612 /** Get the version string. */ 5610 /** Get the version string. */
5613 static const char* GetVersion(); 5611 static const char* GetVersion();
5614 5612
5615 /** Callback function for reporting failed access checks.*/ 5613 /** Callback function for reporting failed access checks.*/
5616 // TODO(dcarney): deprecate this. 5614 V8_INLINE static V8_DEPRECATE_SOON(
5617 V8_INLINE static void SetFailedAccessCheckCallbackFunction( 5615 "Use isolate version",
5618 FailedAccessCheckCallback); 5616 void SetFailedAccessCheckCallbackFunction(FailedAccessCheckCallback));
5619 5617
5620 /** 5618 /**
5621 * Enables the host application to receive a notification before a 5619 * Enables the host application to receive a notification before a
5622 * garbage collection. Allocations are not allowed in the 5620 * garbage collection. Allocations are not allowed in the
5623 * callback function, you therefore cannot manipulate objects (set 5621 * callback function, you therefore cannot manipulate objects (set
5624 * or delete properties for example) since it is possible such 5622 * or delete properties for example) since it is possible such
5625 * operations will result in the allocation of objects. It is possible 5623 * operations will result in the allocation of objects. It is possible
5626 * to specify the GCType filter for your callback. But it is not possible to 5624 * to specify the GCType filter for your callback. But it is not possible to
5627 * register the same callback function two times with different 5625 * register the same callback function two times with different
5628 * GCType filters. 5626 * GCType filters.
5629 */ 5627 */
5630 // TODO(dcarney): deprecate this. 5628 static V8_DEPRECATE_SOON(
5631 static void AddGCPrologueCallback( 5629 "Use isolate version",
5632 GCPrologueCallback callback, GCType gc_type_filter = kGCTypeAll); 5630 void AddGCPrologueCallback(GCPrologueCallback callback,
5631 GCType gc_type_filter = kGCTypeAll));
5633 5632
5634 /** 5633 /**
5635 * This function removes callback which was installed by 5634 * This function removes callback which was installed by
5636 * AddGCPrologueCallback function. 5635 * AddGCPrologueCallback function.
5637 */ 5636 */
5638 // TODO(dcarney): deprecate this. 5637 V8_INLINE static V8_DEPRECATE_SOON(
5639 V8_INLINE static void RemoveGCPrologueCallback(GCPrologueCallback callback); 5638 "Use isolate version",
5639 void RemoveGCPrologueCallback(GCPrologueCallback callback));
5640 5640
5641 /** 5641 /**
5642 * Enables the host application to receive a notification after a 5642 * Enables the host application to receive a notification after a
5643 * garbage collection. Allocations are not allowed in the 5643 * garbage collection. Allocations are not allowed in the
5644 * callback function, you therefore cannot manipulate objects (set 5644 * callback function, you therefore cannot manipulate objects (set
5645 * or delete properties for example) since it is possible such 5645 * or delete properties for example) since it is possible such
5646 * operations will result in the allocation of objects. It is possible 5646 * operations will result in the allocation of objects. It is possible
5647 * to specify the GCType filter for your callback. But it is not possible to 5647 * to specify the GCType filter for your callback. But it is not possible to
5648 * register the same callback function two times with different 5648 * register the same callback function two times with different
5649 * GCType filters. 5649 * GCType filters.
5650 */ 5650 */
5651 // TODO(dcarney): deprecate this. 5651 static V8_DEPRECATE_SOON(
5652 static void AddGCEpilogueCallback( 5652 "Use isolate version",
5653 GCEpilogueCallback callback, GCType gc_type_filter = kGCTypeAll); 5653 void AddGCEpilogueCallback(GCEpilogueCallback callback,
5654 GCType gc_type_filter = kGCTypeAll));
5654 5655
5655 /** 5656 /**
5656 * This function removes callback which was installed by 5657 * This function removes callback which was installed by
5657 * AddGCEpilogueCallback function. 5658 * AddGCEpilogueCallback function.
5658 */ 5659 */
5659 // TODO(dcarney): deprecate this. 5660 V8_INLINE static V8_DEPRECATE_SOON(
5660 V8_INLINE static void RemoveGCEpilogueCallback(GCEpilogueCallback callback); 5661 "Use isolate version",
5662 void RemoveGCEpilogueCallback(GCEpilogueCallback callback));
5661 5663
5662 /** 5664 /**
5663 * Enables the host application to provide a mechanism to be notified 5665 * Enables the host application to provide a mechanism to be notified
5664 * and perform custom logging when V8 Allocates Executable Memory. 5666 * and perform custom logging when V8 Allocates Executable Memory.
5665 */ 5667 */
5666 // TODO(dcarney): deprecate this. 5668 V8_INLINE static V8_DEPRECATE_SOON(
5667 V8_INLINE static void AddMemoryAllocationCallback( 5669 "Use isolate version",
5668 MemoryAllocationCallback callback, ObjectSpace space, 5670 void AddMemoryAllocationCallback(MemoryAllocationCallback callback,
5669 AllocationAction action); 5671 ObjectSpace space,
5672 AllocationAction action));
5670 5673
5671 /** 5674 /**
5672 * Removes callback that was installed by AddMemoryAllocationCallback. 5675 * Removes callback that was installed by AddMemoryAllocationCallback.
5673 */ 5676 */
5674 // TODO(dcarney): deprecate this. 5677 V8_INLINE static V8_DEPRECATE_SOON(
5675 V8_INLINE static void RemoveMemoryAllocationCallback( 5678 "Use isolate version",
5676 MemoryAllocationCallback callback); 5679 void RemoveMemoryAllocationCallback(MemoryAllocationCallback callback));
5677 5680
5678 /** 5681 /**
5679 * Initializes V8. This function needs to be called before the first Isolate 5682 * Initializes V8. This function needs to be called before the first Isolate
5680 * is created. It always returns true. 5683 * is created. It always returns true.
5681 */ 5684 */
5682 static bool Initialize(); 5685 static bool Initialize();
5683 5686
5684 /** 5687 /**
5685 * Allows the host application to provide a callback which can be used 5688 * Allows the host application to provide a callback which can be used
5686 * as a source of entropy for random number generators. 5689 * as a source of entropy for random number generators.
5687 */ 5690 */
5688 static void SetEntropySource(EntropySource source); 5691 static void SetEntropySource(EntropySource source);
5689 5692
5690 /** 5693 /**
5691 * Allows the host application to provide a callback that allows v8 to 5694 * Allows the host application to provide a callback that allows v8 to
5692 * cooperate with a profiler that rewrites return addresses on stack. 5695 * cooperate with a profiler that rewrites return addresses on stack.
5693 */ 5696 */
5694 static void SetReturnAddressLocationResolver( 5697 static void SetReturnAddressLocationResolver(
5695 ReturnAddressLocationResolver return_address_resolver); 5698 ReturnAddressLocationResolver return_address_resolver);
5696 5699
5697 /** 5700 /**
5698 * Forcefully terminate the current thread of JavaScript execution 5701 * Forcefully terminate the current thread of JavaScript execution
5699 * in the given isolate. 5702 * in the given isolate.
5700 * 5703 *
5701 * This method can be used by any thread even if that thread has not 5704 * This method can be used by any thread even if that thread has not
5702 * acquired the V8 lock with a Locker object. 5705 * acquired the V8 lock with a Locker object.
5703 * 5706 *
5704 * \param isolate The isolate in which to terminate the current JS execution. 5707 * \param isolate The isolate in which to terminate the current JS execution.
5705 */ 5708 */
5706 // TODO(dcarney): deprecate this. 5709 V8_INLINE static V8_DEPRECATE_SOON("Use isolate version",
5707 V8_INLINE static void TerminateExecution(Isolate* isolate); 5710 void TerminateExecution(Isolate* isolate));
5708 5711
5709 /** 5712 /**
5710 * Is V8 terminating JavaScript execution. 5713 * Is V8 terminating JavaScript execution.
5711 * 5714 *
5712 * Returns true if JavaScript execution is currently terminating 5715 * Returns true if JavaScript execution is currently terminating
5713 * because of a call to TerminateExecution. In that case there are 5716 * because of a call to TerminateExecution. In that case there are
5714 * still JavaScript frames on the stack and the termination 5717 * still JavaScript frames on the stack and the termination
5715 * exception is still active. 5718 * exception is still active.
5716 * 5719 *
5717 * \param isolate The isolate in which to check. 5720 * \param isolate The isolate in which to check.
5718 */ 5721 */
5719 // TODO(dcarney): deprecate this. 5722 V8_INLINE static V8_DEPRECATE_SOON(
5720 V8_INLINE static bool IsExecutionTerminating(Isolate* isolate = NULL); 5723 "Use isolate version",
5724 bool IsExecutionTerminating(Isolate* isolate = NULL));
5721 5725
5722 /** 5726 /**
5723 * Resume execution capability in the given isolate, whose execution 5727 * Resume execution capability in the given isolate, whose execution
5724 * was previously forcefully terminated using TerminateExecution(). 5728 * was previously forcefully terminated using TerminateExecution().
5725 * 5729 *
5726 * When execution is forcefully terminated using TerminateExecution(), 5730 * When execution is forcefully terminated using TerminateExecution(),
5727 * the isolate can not resume execution until all JavaScript frames 5731 * the isolate can not resume execution until all JavaScript frames
5728 * have propagated the uncatchable exception which is generated. This 5732 * have propagated the uncatchable exception which is generated. This
5729 * method allows the program embedding the engine to handle the 5733 * method allows the program embedding the engine to handle the
5730 * termination event and resume execution capability, even if 5734 * termination event and resume execution capability, even if
5731 * JavaScript frames remain on the stack. 5735 * JavaScript frames remain on the stack.
5732 * 5736 *
5733 * This method can be used by any thread even if that thread has not 5737 * This method can be used by any thread even if that thread has not
5734 * acquired the V8 lock with a Locker object. 5738 * acquired the V8 lock with a Locker object.
5735 * 5739 *
5736 * \param isolate The isolate in which to resume execution capability. 5740 * \param isolate The isolate in which to resume execution capability.
5737 */ 5741 */
5738 // TODO(dcarney): deprecate this. 5742 V8_INLINE static V8_DEPRECATE_SOON(
5739 V8_INLINE static void CancelTerminateExecution(Isolate* isolate); 5743 "Use isolate version", void CancelTerminateExecution(Isolate* isolate));
5740 5744
5741 /** 5745 /**
5742 * Releases any resources used by v8 and stops any utility threads 5746 * Releases any resources used by v8 and stops any utility threads
5743 * that may be running. Note that disposing v8 is permanent, it 5747 * that may be running. Note that disposing v8 is permanent, it
5744 * cannot be reinitialized. 5748 * cannot be reinitialized.
5745 * 5749 *
5746 * It should generally not be necessary to dispose v8 before exiting 5750 * It should generally not be necessary to dispose v8 before exiting
5747 * a process, this should happen automatically. It is only necessary 5751 * a process, this should happen automatically. It is only necessary
5748 * to use if the process needs the resources taken up by v8. 5752 * to use if the process needs the resources taken up by v8.
5749 */ 5753 */
5750 static bool Dispose(); 5754 static bool Dispose();
5751 5755
5752 /** 5756 /**
5753 * Iterates through all external resources referenced from current isolate 5757 * Iterates through all external resources referenced from current isolate
5754 * heap. GC is not invoked prior to iterating, therefore there is no 5758 * heap. GC is not invoked prior to iterating, therefore there is no
5755 * guarantee that visited objects are still alive. 5759 * guarantee that visited objects are still alive.
5756 */ 5760 */
5757 // TODO(dcarney): deprecate this. 5761 V8_INLINE static V8_DEPRECATE_SOON(
5758 V8_INLINE static void VisitExternalResources( 5762 "Use isoalte version",
5759 ExternalResourceVisitor* visitor); 5763 void VisitExternalResources(ExternalResourceVisitor* visitor));
5760 5764
5761 /** 5765 /**
5762 * Iterates through all the persistent handles in the current isolate's heap 5766 * Iterates through all the persistent handles in the current isolate's heap
5763 * that have class_ids. 5767 * that have class_ids.
5764 */ 5768 */
5765 // TODO(dcarney): deprecate this. 5769 V8_INLINE static V8_DEPRECATE_SOON(
5766 V8_INLINE static void VisitHandlesWithClassIds( 5770 "Use isolate version",
5767 PersistentHandleVisitor* visitor); 5771 void VisitHandlesWithClassIds(PersistentHandleVisitor* visitor));
5768 5772
5769 /** 5773 /**
5770 * Iterates through all the persistent handles in isolate's heap that have 5774 * Iterates through all the persistent handles in isolate's heap that have
5771 * class_ids. 5775 * class_ids.
5772 */ 5776 */
5773 // TODO(dcarney): deprecate this. 5777 V8_INLINE static V8_DEPRECATE_SOON(
5774 V8_INLINE static void VisitHandlesWithClassIds( 5778 "Use isolate version",
5775 Isolate* isolate, PersistentHandleVisitor* visitor); 5779 void VisitHandlesWithClassIds(Isolate* isolate,
5780 PersistentHandleVisitor* visitor));
5776 5781
5777 /** 5782 /**
5778 * Iterates through all the persistent handles in the current isolate's heap 5783 * Iterates through all the persistent handles in the current isolate's heap
5779 * that have class_ids and are candidates to be marked as partially dependent 5784 * that have class_ids and are candidates to be marked as partially dependent
5780 * handles. This will visit handles to young objects created since the last 5785 * handles. This will visit handles to young objects created since the last
5781 * garbage collection but is free to visit an arbitrary superset of these 5786 * garbage collection but is free to visit an arbitrary superset of these
5782 * objects. 5787 * objects.
5783 */ 5788 */
5784 // TODO(dcarney): deprecate this. 5789 V8_INLINE static V8_DEPRECATE_SOON(
5785 V8_INLINE static void VisitHandlesForPartialDependence( 5790 "Use isolate version",
5786 Isolate* isolate, PersistentHandleVisitor* visitor); 5791 void VisitHandlesForPartialDependence(Isolate* isolate,
5792 PersistentHandleVisitor* visitor));
5787 5793
5788 /** 5794 /**
5789 * Initialize the ICU library bundled with V8. The embedder should only 5795 * Initialize the ICU library bundled with V8. The embedder should only
5790 * invoke this method when using the bundled ICU. Returns true on success. 5796 * invoke this method when using the bundled ICU. Returns true on success.
5791 * 5797 *
5792 * If V8 was compiled with the ICU data in an external file, the location 5798 * If V8 was compiled with the ICU data in an external file, the location
5793 * of the data file has to be provided. 5799 * of the data file has to be provided.
5794 */ 5800 */
5795 static bool InitializeICU(const char* icu_data_file = NULL); 5801 static bool InitializeICU(const char* icu_data_file = NULL);
5796 5802
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
5902 /** 5908 /**
5903 * An external exception handler. 5909 * An external exception handler.
5904 */ 5910 */
5905 class V8_EXPORT TryCatch { 5911 class V8_EXPORT TryCatch {
5906 public: 5912 public:
5907 /** 5913 /**
5908 * Creates a new try/catch block and registers it with v8. Note that 5914 * Creates a new try/catch block and registers it with v8. Note that
5909 * all TryCatch blocks should be stack allocated because the memory 5915 * all TryCatch blocks should be stack allocated because the memory
5910 * location itself is compared against JavaScript try/catch blocks. 5916 * location itself is compared against JavaScript try/catch blocks.
5911 */ 5917 */
5912 // TODO(dcarney): deprecate. 5918 V8_DEPRECATE_SOON("Use isolate version", TryCatch());
5913 TryCatch();
5914 5919
5915 /** 5920 /**
5916 * Creates a new try/catch block and registers it with v8. Note that 5921 * Creates a new try/catch block and registers it with v8. Note that
5917 * all TryCatch blocks should be stack allocated because the memory 5922 * all TryCatch blocks should be stack allocated because the memory
5918 * location itself is compared against JavaScript try/catch blocks. 5923 * location itself is compared against JavaScript try/catch blocks.
5919 */ 5924 */
5920 TryCatch(Isolate* isolate); 5925 TryCatch(Isolate* isolate);
5921 5926
5922 /** 5927 /**
5923 * Unregisters and deletes this try/catch block. 5928 * Unregisters and deletes this try/catch block.
(...skipping 1851 matching lines...) Expand 10 before | Expand all | Expand 10 after
7775 */ 7780 */
7776 7781
7777 7782
7778 } // namespace v8 7783 } // namespace v8
7779 7784
7780 7785
7781 #undef TYPE_CHECK 7786 #undef TYPE_CHECK
7782 7787
7783 7788
7784 #endif // V8_H_ 7789 #endif // V8_H_
OLDNEW
« no previous file with comments | « no previous file | include/v8config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698