@@ -440,54 +440,8 @@ BasicJsonStringifier::Result BasicJsonStringifier::SerializeJSArray(
440440 uint32_t length = 0 ;
441441 CHECK (object->length ()->ToArrayLength (&length));
442442 builder_.AppendCharacter (' [' );
443- switch (object->GetElementsKind ()) {
444- case FAST_SMI_ELEMENTS: {
445- Handle<FixedArray> elements (
446- FixedArray::cast (object->elements ()), isolate_);
447- for (uint32_t i = 0 ; i < length; i++) {
448- if (i > 0 ) builder_.AppendCharacter (' ,' );
449- SerializeSmi (Smi::cast (elements->get (i)));
450- }
451- break ;
452- }
453- case FAST_DOUBLE_ELEMENTS: {
454- // Empty array is FixedArray but not FixedDoubleArray.
455- if (length == 0 ) break ;
456- Handle<FixedDoubleArray> elements (
457- FixedDoubleArray::cast (object->elements ()), isolate_);
458- for (uint32_t i = 0 ; i < length; i++) {
459- if (i > 0 ) builder_.AppendCharacter (' ,' );
460- SerializeDouble (elements->get_scalar (i));
461- }
462- break ;
463- }
464- case FAST_ELEMENTS: {
465- Handle<FixedArray> elements (
466- FixedArray::cast (object->elements ()), isolate_);
467- for (uint32_t i = 0 ; i < length; i++) {
468- if (i > 0 ) builder_.AppendCharacter (' ,' );
469- Result result =
470- SerializeElement (isolate_,
471- Handle<Object>(elements->get (i), isolate_),
472- i);
473- if (result == SUCCESS) continue ;
474- if (result == UNCHANGED) {
475- builder_.AppendCString (" null" );
476- } else {
477- return result;
478- }
479- }
480- break ;
481- }
482- // TODO(yangguo): The FAST_HOLEY_* cases could be handled in a faster way.
483- // They resemble the non-holey cases except that a prototype chain lookup
484- // is necessary for holes.
485- default : {
486- Result result = SerializeJSArraySlow (object, length);
487- if (result != SUCCESS) return result;
488- break ;
489- }
490- }
443+ Result result = SerializeJSArraySlow (object, length);
444+ if (result != SUCCESS) return result;
491445 builder_.AppendCharacter (' ]' );
492446 StackPop ();
493447 return SUCCESS;
0 commit comments