Commit 3b8235b3 authored by lrn@chromium.org's avatar lrn@chromium.org

Make some runtime arguments checks be RUNTIME_ASSERT, not ASSERT.

Review URL: http://codereview.chromium.org/3411013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 41064a57
...@@ -946,7 +946,7 @@ static Object* Runtime_DeclareContextSlot(Arguments args) { ...@@ -946,7 +946,7 @@ static Object* Runtime_DeclareContextSlot(Arguments args) {
Handle<String> name(String::cast(args[1])); Handle<String> name(String::cast(args[1]));
PropertyAttributes mode = PropertyAttributes mode =
static_cast<PropertyAttributes>(Smi::cast(args[2])->value()); static_cast<PropertyAttributes>(Smi::cast(args[2])->value());
ASSERT(mode == READ_ONLY || mode == NONE); RUNTIME_ASSERT(mode == READ_ONLY || mode == NONE);
Handle<Object> initial_value(args[3]); Handle<Object> initial_value(args[3]);
// Declarations are always done in the function context. // Declarations are always done in the function context.
...@@ -8944,19 +8944,20 @@ static Object* Runtime_ClearBreakPoint(Arguments args) { ...@@ -8944,19 +8944,20 @@ static Object* Runtime_ClearBreakPoint(Arguments args) {
} }
// Change the state of break on exceptions // Change the state of break on exceptions.
// args[0]: boolean indicating uncaught exceptions // args[0]: Enum value indicating whether to affect caught/uncaught exceptions.
// args[1]: boolean indicating on/off // args[1]: Boolean indicating on/off.
static Object* Runtime_ChangeBreakOnException(Arguments args) { static Object* Runtime_ChangeBreakOnException(Arguments args) {
HandleScope scope; HandleScope scope;
ASSERT(args.length() == 2); ASSERT(args.length() == 2);
ASSERT(args[0]->IsNumber()); RUNTIME_ASSERT(args[0]->IsNumber());
ASSERT(args[1]->IsBoolean()); CONVERT_BOOLEAN_CHECKED(enable, args[1]);
// Update break point state // If the number doesn't match an enum value, the ChangeBreakOnException
// function will default to affecting caught exceptions.
ExceptionBreakType type = ExceptionBreakType type =
static_cast<ExceptionBreakType>(NumberToUint32(args[0])); static_cast<ExceptionBreakType>(NumberToUint32(args[0]));
bool enable = args[1]->ToBoolean()->IsTrue(); // Update break point state.
Debug::ChangeBreakOnException(type, enable); Debug::ChangeBreakOnException(type, enable);
return Heap::undefined_value(); return Heap::undefined_value();
} }
...@@ -8967,7 +8968,7 @@ static Object* Runtime_ChangeBreakOnException(Arguments args) { ...@@ -8967,7 +8968,7 @@ static Object* Runtime_ChangeBreakOnException(Arguments args) {
static Object* Runtime_IsBreakOnException(Arguments args) { static Object* Runtime_IsBreakOnException(Arguments args) {
HandleScope scope; HandleScope scope;
ASSERT(args.length() == 1); ASSERT(args.length() == 1);
ASSERT(args[0]->IsNumber()); RUNTIME_ASSERT(args[0]->IsNumber());
ExceptionBreakType type = ExceptionBreakType type =
static_cast<ExceptionBreakType>(NumberToUint32(args[0])); static_cast<ExceptionBreakType>(NumberToUint32(args[0]));
......
...@@ -129,7 +129,6 @@ var knownProblems = { ...@@ -129,7 +129,6 @@ var knownProblems = {
// which means that we have to propagate errors back. // which means that we have to propagate errors back.
"SetFunctionBreakPoint": true, "SetFunctionBreakPoint": true,
"SetScriptBreakPoint": true, "SetScriptBreakPoint": true,
"ChangeBreakOnException": true,
"PrepareStep": true, "PrepareStep": true,
// Too slow. // Too slow.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment