Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index a5a85ff251342b959fae0f5115cca168ab8f7727..9e16bc435d2b665f06f036291b736649669c4b4d 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -946,7 +946,7 @@ static Object* Runtime_DeclareContextSlot(Arguments args) { |
Handle<String> name(String::cast(args[1])); |
PropertyAttributes mode = |
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]); |
// Declarations are always done in the function context. |
@@ -8944,19 +8944,20 @@ static Object* Runtime_ClearBreakPoint(Arguments args) { |
} |
-// Change the state of break on exceptions |
-// args[0]: boolean indicating uncaught exceptions |
-// args[1]: boolean indicating on/off |
+// Change the state of break on exceptions. |
+// args[0]: Enum value indicating whether to affect caught/uncaught exceptions. |
+// args[1]: Boolean indicating on/off. |
static Object* Runtime_ChangeBreakOnException(Arguments args) { |
HandleScope scope; |
ASSERT(args.length() == 2); |
- ASSERT(args[0]->IsNumber()); |
- ASSERT(args[1]->IsBoolean()); |
+ RUNTIME_ASSERT(args[0]->IsNumber()); |
+ 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 = |
static_cast<ExceptionBreakType>(NumberToUint32(args[0])); |
- bool enable = args[1]->ToBoolean()->IsTrue(); |
+ // Update break point state. |
Debug::ChangeBreakOnException(type, enable); |
return Heap::undefined_value(); |
} |
@@ -8967,7 +8968,7 @@ static Object* Runtime_ChangeBreakOnException(Arguments args) { |
static Object* Runtime_IsBreakOnException(Arguments args) { |
HandleScope scope; |
ASSERT(args.length() == 1); |
- ASSERT(args[0]->IsNumber()); |
+ RUNTIME_ASSERT(args[0]->IsNumber()); |
ExceptionBreakType type = |
static_cast<ExceptionBreakType>(NumberToUint32(args[0])); |