OLD | NEW |
---|---|
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
459 case JSRegExp::ATOM: { | 459 case JSRegExp::ATOM: { |
460 FixedArray* arr = FixedArray::cast(data()); | 460 FixedArray* arr = FixedArray::cast(data()); |
461 ASSERT(arr->get(JSRegExp::kAtomPatternIndex)->IsString()); | 461 ASSERT(arr->get(JSRegExp::kAtomPatternIndex)->IsString()); |
462 break; | 462 break; |
463 } | 463 } |
464 case JSRegExp::IRREGEXP: { | 464 case JSRegExp::IRREGEXP: { |
465 bool is_native = RegExpImpl::UsesNativeRegExp(); | 465 bool is_native = RegExpImpl::UsesNativeRegExp(); |
466 | 466 |
467 FixedArray* arr = FixedArray::cast(data()); | 467 FixedArray* arr = FixedArray::cast(data()); |
468 Object* ascii_data = arr->get(JSRegExp::kIrregexpASCIICodeIndex); | 468 Object* ascii_data = arr->get(JSRegExp::kIrregexpASCIICodeIndex); |
469 // TheHole : Not compiled yet. | 469 // Smi : Not compiled yet (-1) or code prepared for flushing. |
470 // JSObject: Compilation error. | 470 // JSObject: Compilation error. |
471 // Code/ByteArray: Compiled code. | 471 // Code/ByteArray: Compiled code. |
472 ASSERT(ascii_data->IsTheHole() || ascii_data->IsJSObject() || | 472 ASSERT(ascii_data->IsSmi() || ascii_data->IsJSObject() || |
473 (is_native ? ascii_data->IsCode() : ascii_data->IsByteArray())); | 473 (is_native ? ascii_data->IsCode() : ascii_data->IsByteArray())); |
474 Object* uc16_data = arr->get(JSRegExp::kIrregexpUC16CodeIndex); | 474 Object* uc16_data = arr->get(JSRegExp::kIrregexpUC16CodeIndex); |
475 ASSERT(uc16_data->IsTheHole() || uc16_data->IsJSObject() || | 475 ASSERT(uc16_data->IsSmi() || uc16_data->IsJSObject() || |
476 (is_native ? uc16_data->IsCode() : uc16_data->IsByteArray())); | 476 (is_native ? uc16_data->IsCode() : uc16_data->IsByteArray())); |
477 | |
478 Object* ascii_saved = arr->get(JSRegExp::kIrregexpASCIICodeSavedIndex); | |
479 ASSERT(ascii_saved->IsSmi() || ascii_saved->IsJSObject() || | |
Erik Corry
2011/07/01 10:26:38
Should be IsString!
| |
480 ascii_saved->IsCode()); | |
481 Object* uc16_saved = arr->get(JSRegExp::kIrregexpUC16CodeSavedIndex); | |
482 ASSERT(uc16_saved->IsSmi() || uc16_saved->IsJSObject() || | |
483 uc16_saved->IsCode()); | |
484 | |
477 ASSERT(arr->get(JSRegExp::kIrregexpCaptureCountIndex)->IsSmi()); | 485 ASSERT(arr->get(JSRegExp::kIrregexpCaptureCountIndex)->IsSmi()); |
478 ASSERT(arr->get(JSRegExp::kIrregexpMaxRegisterCountIndex)->IsSmi()); | 486 ASSERT(arr->get(JSRegExp::kIrregexpMaxRegisterCountIndex)->IsSmi()); |
479 break; | 487 break; |
480 } | 488 } |
481 default: | 489 default: |
482 ASSERT_EQ(JSRegExp::NOT_COMPILED, TypeTag()); | 490 ASSERT_EQ(JSRegExp::NOT_COMPILED, TypeTag()); |
483 ASSERT(data()->IsUndefined()); | 491 ASSERT(data()->IsUndefined()); |
484 break; | 492 break; |
485 } | 493 } |
486 } | 494 } |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
751 ASSERT(e->IsUndefined()); | 759 ASSERT(e->IsUndefined()); |
752 } | 760 } |
753 } | 761 } |
754 } | 762 } |
755 } | 763 } |
756 | 764 |
757 | 765 |
758 #endif // DEBUG | 766 #endif // DEBUG |
759 | 767 |
760 } } // namespace v8::internal | 768 } } // namespace v8::internal |
OLD | NEW |