| Index: src/runtime.cc
|
| ===================================================================
|
| --- src/runtime.cc (revision 7683)
|
| +++ src/runtime.cc (working copy)
|
| @@ -2713,7 +2713,7 @@
|
| end = RegExpImpl::GetCapture(match_info_array, 1);
|
| }
|
|
|
| - int length = subject->length();
|
| + int length = subject_handle->length();
|
| int new_length = length - (end - start);
|
| if (new_length == 0) {
|
| return isolate->heap()->empty_string();
|
| @@ -7298,13 +7298,13 @@
|
| // If the function is not optimizable or debugger is active continue using the
|
| // code from the full compiler.
|
| if (!function->shared()->code()->optimizable() ||
|
| - isolate->debug()->has_break_points()) {
|
| + isolate->DebuggerHasBreakPoints()) {
|
| if (FLAG_trace_opt) {
|
| PrintF("[failed to optimize ");
|
| function->PrintName();
|
| PrintF(": is code optimizable: %s, is debugger enabled: %s]\n",
|
| function->shared()->code()->optimizable() ? "T" : "F",
|
| - isolate->debug()->has_break_points() ? "T" : "F");
|
| + isolate->DebuggerHasBreakPoints() ? "T" : "F");
|
| }
|
| function->ReplaceCode(function->shared()->code());
|
| return function->code();
|
| @@ -8603,45 +8603,50 @@
|
| int dense_elements_length;
|
| switch (kind) {
|
| case JSObject::EXTERNAL_PIXEL_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalPixelArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalPixelArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_BYTE_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalByteArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalByteArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalUnsignedByteArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalUnsignedByteArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_SHORT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalShortArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalShortArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalUnsignedShortArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalUnsignedShortArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_INT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalIntArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalIntArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalUnsignedIntArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalUnsignedIntArray::cast(object->elements())->length();
|
| break;
|
| }
|
| case JSObject::EXTERNAL_FLOAT_ELEMENTS: {
|
| - dense_elements_length =
|
| - ExternalFloatArray::cast(object->elements())->length();
|
| + dense_elements_length =
|
| + ExternalFloatArray::cast(object->elements())->length();
|
| break;
|
| }
|
| + case JSObject::EXTERNAL_DOUBLE_ELEMENTS: {
|
| + dense_elements_length =
|
| + ExternalDoubleArray::cast(object->elements())->length();
|
| + break;
|
| + }
|
| default:
|
| UNREACHABLE();
|
| dense_elements_length = 0;
|
| @@ -8773,6 +8778,11 @@
|
| isolate, receiver, false, false, visitor);
|
| break;
|
| }
|
| + case JSObject::EXTERNAL_DOUBLE_ELEMENTS: {
|
| + IterateExternalArrayElements<ExternalDoubleArray, double>(
|
| + isolate, receiver, false, false, visitor);
|
| + break;
|
| + }
|
| default:
|
| UNREACHABLE();
|
| break;
|
|
|