Reviewers: Igor Sheludko,
Description:
Remove assertion from callers of TryCall.
[email protected]
BUG=363280
Please review this at https://codereview.chromium.org/238753003/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+29, -43 lines):
M src/debug.cc
M src/execution.cc
Index: src/debug.cc
diff --git a/src/debug.cc b/src/debug.cc
index
41c608a02120badb8a9a89732f8cf7c6976280fd..5d692ce751b4d53b15e876295ec2a0f4ce790444
100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -1127,13 +1127,12 @@ bool Debug::CheckBreakPoint(Handle<Object>
break_point_object) {
// Call HandleBreakPointx.
Handle<Object> argv[] = { break_id, break_point_object };
Handle<Object> result;
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, result,
- Execution::TryCall(check_break_point,
- isolate_->js_builtins_object(),
- ARRAY_SIZE(argv),
- argv),
- false);
+ if (!Execution::TryCall(check_break_point,
+ isolate_->js_builtins_object(),
+ ARRAY_SIZE(argv),
+ argv).ToHandle(&result)) {
+ return false;
+ }
// Return whether the break point is triggered.
return result->IsTrue();
@@ -2620,8 +2619,7 @@ MaybeHandle<Object> Debugger::MakeExecutionState() {
MaybeHandle<Object> Debugger::MakeBreakEvent(Handle<Object>
break_points_hit) {
Handle<Object> exec_state;
- ASSIGN_RETURN_ON_EXCEPTION(
- isolate_, exec_state, MakeExecutionState(), Object);
+ if (!MakeExecutionState().ToHandle(&exec_state)) return
MaybeHandle<Object>();
// Create the new break event object.
Handle<Object> argv[] = { exec_state, break_points_hit };
return MakeJSObject(CStrVector("MakeBreakEvent"), ARRAY_SIZE(argv),
argv);
@@ -2631,8 +2629,7 @@ MaybeHandle<Object>
Debugger::MakeBreakEvent(Handle<Object> break_points_hit) {
MaybeHandle<Object> Debugger::MakeExceptionEvent(Handle<Object> exception,
bool uncaught) {
Handle<Object> exec_state;
- ASSIGN_RETURN_ON_EXCEPTION(
- isolate_, exec_state, MakeExecutionState(), Object);
+ if (!MakeExecutionState().ToHandle(&exec_state)) return
MaybeHandle<Object>();
// Create the new exception event object.
Handle<Object> argv[] = { exec_state,
exception,
@@ -2643,24 +2640,21 @@ MaybeHandle<Object>
Debugger::MakeExceptionEvent(Handle<Object> exception,
MaybeHandle<Object> Debugger::MakeCompileEvent(Handle<Script> script,
bool before) {
- Factory* factory = isolate_->factory();
- // Create the compile event object.
Handle<Object> exec_state;
- ASSIGN_RETURN_ON_EXCEPTION(
- isolate_, exec_state, MakeExecutionState(), Object);
+ if (!MakeExecutionState().ToHandle(&exec_state)) return
MaybeHandle<Object>();
+ // Create the compile event object.
Handle<Object> script_wrapper = GetScriptWrapper(script);
Handle<Object> argv[] = { exec_state,
script_wrapper,
- factory->ToBoolean(before) };
+ isolate_->factory()->ToBoolean(before) };
return MakeJSObject(CStrVector("MakeCompileEvent"), ARRAY_SIZE(argv),
argv);
}
MaybeHandle<Object> Debugger::MakeScriptCollectedEvent(int id) {
- // Create the script collected event object.
Handle<Object> exec_state;
- ASSIGN_RETURN_ON_EXCEPTION(
- isolate_, exec_state, MakeExecutionState(), Object);
+ if (!MakeExecutionState().ToHandle(&exec_state)) return
MaybeHandle<Object>();
+ // Create the script collected event object.
Handle<Object> id_object = Handle<Smi>(Smi::FromInt(id), isolate_);
Handle<Object> argv[] = { exec_state, id_object };
@@ -2696,9 +2690,7 @@ void Debugger::OnException(Handle<Object> exception,
bool uncaught) {
// Create the event data object.
Handle<Object> event_data;
// Bail out and don't call debugger if exception.
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, event_data, MakeExceptionEvent(exception, uncaught),
- /* void */ ;);
+ if (!MakeExceptionEvent(exception, uncaught).ToHandle(&event_data))
return;
// Process debug event.
ProcessDebugEvent(v8::Exception, Handle<JSObject>::cast(event_data),
false);
@@ -2722,8 +2714,7 @@ void Debugger::OnDebugBreak(Handle<Object>
break_points_hit,
// Create the event data object.
Handle<Object> event_data;
// Bail out and don't call debugger if exception.
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, event_data, MakeBreakEvent(break_points_hit), /* void
*/ ;);
+ if (!MakeBreakEvent(break_points_hit).ToHandle(&event_data)) return;
// Process debug event.
ProcessDebugEvent(v8::Break,
@@ -2747,8 +2738,7 @@ void Debugger::OnBeforeCompile(Handle<Script> script)
{
// Create the event data object.
Handle<Object> event_data;
// Bail out and don't call debugger if exception.
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, event_data, MakeCompileEvent(script, true), /* void */ ;);
+ if (!MakeCompileEvent(script, true).ToHandle(&event_data)) return;
// Process debug event.
ProcessDebugEvent(v8::BeforeCompile,
@@ -2814,8 +2804,7 @@ void Debugger::OnAfterCompile(Handle<Script> script,
// Create the compile state object.
Handle<Object> event_data;
// Bail out and don't call debugger if exception.
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, event_data, MakeCompileEvent(script, false), /* void */ ;);
+ if (!MakeCompileEvent(script, false).ToHandle(&event_data)) return;
// Process debug event.
ProcessDebugEvent(v8::AfterCompile, Handle<JSObject>::cast(event_data),
true);
@@ -2837,8 +2826,7 @@ void Debugger::OnScriptCollected(int id) {
// Create the script collected state object.
Handle<Object> event_data;
// Bail out and don't call debugger if exception.
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, event_data, MakeScriptCollectedEvent(id), /* void */ ;);
+ if (!MakeScriptCollectedEvent(id).ToHandle(&event_data)) return;
// Process debug event.
ProcessDebugEvent(v8::ScriptCollected,
@@ -2860,8 +2848,8 @@ void Debugger::ProcessDebugEvent(v8::DebugEvent event,
// Create the execution state.
Handle<Object> exec_state;
// Bail out and don't call debugger if exception.
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, exec_state, MakeExecutionState(), /* void */ ;);
+ if (!MakeExecutionState().ToHandle(&exec_state)) return;
+
// First notify the message handler if any.
if (message_handler_ != NULL) {
NotifyMessageHandler(event,
@@ -3302,10 +3290,9 @@ MaybeHandle<Object>
Debugger::Call(Handle<JSFunction> fun,
// Create the execution state.
Handle<Object> exec_state;
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate_, exec_state,
- MakeExecutionState(),
- isolate_->factory()->undefined_value());
+ if (!MakeExecutionState().ToHandle(&exec_state)) {
+ isolate_->factory()->undefined_value();
+ }
Handle<Object> argv[] = { exec_state, data };
return Execution::Call(
Index: src/execution.cc
diff --git a/src/execution.cc b/src/execution.cc
index
2e6023b41e382933fb5ba6ced2dc0e6b8845ed1f..eb1fa4c1d9aba0af3ec93a4744dbd23848542179
100644
--- a/src/execution.cc
+++ b/src/execution.cc
@@ -740,13 +740,12 @@ Handle<Object> Execution::CharAt(Handle<String>
string, uint32_t index) {
Handle<Object> index_object = factory->NewNumberFromInt(int_index);
Handle<Object> index_arg[] = { index_object };
Handle<Object> result;
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate, result,
- TryCall(Handle<JSFunction>::cast(char_at),
- string,
- ARRAY_SIZE(index_arg),
- index_arg),
- factory->undefined_value());
+ if (!TryCall(Handle<JSFunction>::cast(char_at),
+ string,
+ ARRAY_SIZE(index_arg),
+ index_arg).ToHandle(&result)) {
+ return factory->undefined_value();
+ }
return result;
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.