OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
663 JSObjectVerify(); | 663 JSObjectVerify(); |
664 ASSERT(data()->IsUndefined() || data()->IsFixedArray()); | 664 ASSERT(data()->IsUndefined() || data()->IsFixedArray()); |
665 switch (TypeTag()) { | 665 switch (TypeTag()) { |
666 case JSRegExp::ATOM: { | 666 case JSRegExp::ATOM: { |
667 FixedArray* arr = FixedArray::cast(data()); | 667 FixedArray* arr = FixedArray::cast(data()); |
668 ASSERT(arr->get(JSRegExp::kAtomPatternIndex)->IsString()); | 668 ASSERT(arr->get(JSRegExp::kAtomPatternIndex)->IsString()); |
669 break; | 669 break; |
670 } | 670 } |
671 case JSRegExp::JSCRE: { | 671 case JSRegExp::JSCRE: { |
672 FixedArray* arr = FixedArray::cast(data()); | 672 FixedArray* arr = FixedArray::cast(data()); |
673 ASSERT(arr->get(JSRegExp::kJscreDataIndex)->IsFixedArray()); | 673 Object* jscre_data = arr->get(JSRegExp::kJscreDataIndex); |
| 674 ASSERT(jscre_data->IsFixedArray() || jscre_data->IsUndefined()); |
| 675 break; |
| 676 } |
| 677 case JSRegExp::IRREGEXP: { |
| 678 FixedArray* arr = FixedArray::cast(data()); |
| 679 Object* jscre_data = arr->get(JSRegExp::kJscreDataIndex); |
| 680 ASSERT(jscre_data->IsFixedArray()); |
674 break; | 681 break; |
675 } | 682 } |
676 default: | 683 default: |
677 ASSERT_EQ(JSRegExp::NOT_COMPILED, TypeTag()); | 684 ASSERT_EQ(JSRegExp::NOT_COMPILED, TypeTag()); |
678 ASSERT(data()->IsUndefined()); | 685 ASSERT(data()->IsUndefined()); |
679 break; | 686 break; |
680 } | 687 } |
681 } | 688 } |
682 | 689 |
683 | 690 |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1049 } | 1056 } |
1050 current = hash; | 1057 current = hash; |
1051 } | 1058 } |
1052 return true; | 1059 return true; |
1053 } | 1060 } |
1054 | 1061 |
1055 | 1062 |
1056 #endif // DEBUG | 1063 #endif // DEBUG |
1057 | 1064 |
1058 } } // namespace v8::internal | 1065 } } // namespace v8::internal |
OLD | NEW |