| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_EXECUTION_H_ | 5 #ifndef V8_EXECUTION_H_ |
| 6 #define V8_EXECUTION_H_ | 6 #define V8_EXECUTION_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/base/atomicops.h" | 9 #include "src/base/atomicops.h" |
| 10 #include "src/handles.h" | 10 #include "src/handles.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 Handle<Object> callable, | 28 Handle<Object> callable, |
| 29 Handle<Object> receiver, | 29 Handle<Object> receiver, |
| 30 int argc, | 30 int argc, |
| 31 Handle<Object> argv[]); | 31 Handle<Object> argv[]); |
| 32 | 32 |
| 33 // Construct object from function, the caller supplies an array of | 33 // Construct object from function, the caller supplies an array of |
| 34 // arguments. | 34 // arguments. |
| 35 MUST_USE_RESULT static MaybeHandle<Object> New(Handle<JSFunction> constructor, | 35 MUST_USE_RESULT static MaybeHandle<Object> New(Handle<JSFunction> constructor, |
| 36 int argc, | 36 int argc, |
| 37 Handle<Object> argv[]); | 37 Handle<Object> argv[]); |
| 38 MUST_USE_RESULT static MaybeHandle<Object> New(Handle<JSFunction> constructor, | 38 MUST_USE_RESULT static MaybeHandle<Object> New(Isolate* isolate, |
| 39 Handle<JSFunction> new_target, | 39 Handle<Object> constructor, |
| 40 Handle<Object> new_target, |
| 40 int argc, | 41 int argc, |
| 41 Handle<Object> argv[]); | 42 Handle<Object> argv[]); |
| 42 | 43 |
| 43 // Call a function, just like Call(), but make sure to silently catch | 44 // Call a function, just like Call(), but make sure to silently catch |
| 44 // any thrown exceptions. The return value is either the result of | 45 // any thrown exceptions. The return value is either the result of |
| 45 // calling the function (if caught exception is false) or the exception | 46 // calling the function (if caught exception is false) or the exception |
| 46 // that occurred (if caught exception is true). | 47 // that occurred (if caught exception is true). |
| 47 // In the exception case, exception_out holds the caught exceptions, unless | 48 // In the exception case, exception_out holds the caught exceptions, unless |
| 48 // it is a termination exception. | 49 // it is a termination exception. |
| 49 static MaybeHandle<Object> TryCall(Handle<JSFunction> func, | 50 static MaybeHandle<Object> TryCall(Handle<JSFunction> func, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 Isolate* isolate, double time); | 82 Isolate* isolate, double time); |
| 82 | 83 |
| 83 // Create a new regular expression object from 'pattern' and 'flags'. | 84 // Create a new regular expression object from 'pattern' and 'flags'. |
| 84 MUST_USE_RESULT static MaybeHandle<JSRegExp> NewJSRegExp( | 85 MUST_USE_RESULT static MaybeHandle<JSRegExp> NewJSRegExp( |
| 85 Handle<String> pattern, Handle<String> flags); | 86 Handle<String> pattern, Handle<String> flags); |
| 86 | 87 |
| 87 static Handle<String> GetStackTraceLine(Handle<Object> recv, | 88 static Handle<String> GetStackTraceLine(Handle<Object> recv, |
| 88 Handle<JSFunction> fun, | 89 Handle<JSFunction> fun, |
| 89 Handle<Object> pos, | 90 Handle<Object> pos, |
| 90 Handle<Object> is_global); | 91 Handle<Object> is_global); |
| 91 | |
| 92 // Get a function delegate for the given non-function object. | |
| 93 // Used for support calling objects as functions. | |
| 94 MUST_USE_RESULT static MaybeHandle<JSFunction> GetFunctionDelegate( | |
| 95 Isolate* isolate, Handle<Object> object); | |
| 96 | |
| 97 // Get a function delegate (or undefined) for the given non-function | |
| 98 // object. Used for support calling objects as constructors. | |
| 99 MUST_USE_RESULT static MaybeHandle<JSFunction> GetConstructorDelegate( | |
| 100 Isolate* isolate, Handle<Object> object); | |
| 101 | |
| 102 private: | |
| 103 MUST_USE_RESULT static Handle<String> RenderCallSite(Isolate* isolate, | |
| 104 Handle<Object> object); | |
| 105 }; | 92 }; |
| 106 | 93 |
| 107 | 94 |
| 108 class ExecutionAccess; | 95 class ExecutionAccess; |
| 109 class PostponeInterruptsScope; | 96 class PostponeInterruptsScope; |
| 110 | 97 |
| 111 | 98 |
| 112 // StackGuard contains the handling of the limits that are used to limit the | 99 // StackGuard contains the handling of the limits that are used to limit the |
| 113 // number of nested invocations of JavaScript and the stack size used in each | 100 // number of nested invocations of JavaScript and the stack size used in each |
| 114 // invocation. | 101 // invocation. |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 friend class Isolate; | 260 friend class Isolate; |
| 274 friend class StackLimitCheck; | 261 friend class StackLimitCheck; |
| 275 friend class PostponeInterruptsScope; | 262 friend class PostponeInterruptsScope; |
| 276 | 263 |
| 277 DISALLOW_COPY_AND_ASSIGN(StackGuard); | 264 DISALLOW_COPY_AND_ASSIGN(StackGuard); |
| 278 }; | 265 }; |
| 279 | 266 |
| 280 } } // namespace v8::internal | 267 } } // namespace v8::internal |
| 281 | 268 |
| 282 #endif // V8_EXECUTION_H_ | 269 #endif // V8_EXECUTION_H_ |
| OLD | NEW |