Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: src/objects.h

Issue 218993011: Remove internalized cons string types. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/heap.cc ('k') | src/objects.cc » ('j') | src/objects.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 V(SLICED_ASCII_STRING_TYPE) \ 348 V(SLICED_ASCII_STRING_TYPE) \
349 V(EXTERNAL_STRING_TYPE) \ 349 V(EXTERNAL_STRING_TYPE) \
350 V(EXTERNAL_ASCII_STRING_TYPE) \ 350 V(EXTERNAL_ASCII_STRING_TYPE) \
351 V(EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE) \ 351 V(EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE) \
352 V(SHORT_EXTERNAL_STRING_TYPE) \ 352 V(SHORT_EXTERNAL_STRING_TYPE) \
353 V(SHORT_EXTERNAL_ASCII_STRING_TYPE) \ 353 V(SHORT_EXTERNAL_ASCII_STRING_TYPE) \
354 V(SHORT_EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE) \ 354 V(SHORT_EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE) \
355 \ 355 \
356 V(INTERNALIZED_STRING_TYPE) \ 356 V(INTERNALIZED_STRING_TYPE) \
357 V(ASCII_INTERNALIZED_STRING_TYPE) \ 357 V(ASCII_INTERNALIZED_STRING_TYPE) \
358 V(CONS_INTERNALIZED_STRING_TYPE) \
359 V(CONS_ASCII_INTERNALIZED_STRING_TYPE) \
360 V(EXTERNAL_INTERNALIZED_STRING_TYPE) \ 358 V(EXTERNAL_INTERNALIZED_STRING_TYPE) \
361 V(EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE) \ 359 V(EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE) \
362 V(EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE) \ 360 V(EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE) \
363 V(SHORT_EXTERNAL_INTERNALIZED_STRING_TYPE) \ 361 V(SHORT_EXTERNAL_INTERNALIZED_STRING_TYPE) \
364 V(SHORT_EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE) \ 362 V(SHORT_EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE) \
365 V(SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE) \ 363 V(SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE) \
366 \ 364 \
367 V(SYMBOL_TYPE) \ 365 V(SYMBOL_TYPE) \
368 \ 366 \
369 V(MAP_TYPE) \ 367 V(MAP_TYPE) \
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 ShortExternalStringWithOneByteData) \ 505 ShortExternalStringWithOneByteData) \
508 \ 506 \
509 V(INTERNALIZED_STRING_TYPE, \ 507 V(INTERNALIZED_STRING_TYPE, \
510 kVariableSizeSentinel, \ 508 kVariableSizeSentinel, \
511 internalized_string, \ 509 internalized_string, \
512 InternalizedString) \ 510 InternalizedString) \
513 V(ASCII_INTERNALIZED_STRING_TYPE, \ 511 V(ASCII_INTERNALIZED_STRING_TYPE, \
514 kVariableSizeSentinel, \ 512 kVariableSizeSentinel, \
515 ascii_internalized_string, \ 513 ascii_internalized_string, \
516 AsciiInternalizedString) \ 514 AsciiInternalizedString) \
517 V(CONS_INTERNALIZED_STRING_TYPE, \
518 ConsString::kSize, \
519 cons_internalized_string, \
520 ConsInternalizedString) \
521 V(CONS_ASCII_INTERNALIZED_STRING_TYPE, \
522 ConsString::kSize, \
523 cons_ascii_internalized_string, \
524 ConsAsciiInternalizedString) \
525 V(EXTERNAL_INTERNALIZED_STRING_TYPE, \ 515 V(EXTERNAL_INTERNALIZED_STRING_TYPE, \
526 ExternalTwoByteString::kSize, \ 516 ExternalTwoByteString::kSize, \
527 external_internalized_string, \ 517 external_internalized_string, \
528 ExternalInternalizedString) \ 518 ExternalInternalizedString) \
529 V(EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE, \ 519 V(EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE, \
530 ExternalAsciiString::kSize, \ 520 ExternalAsciiString::kSize, \
531 external_ascii_internalized_string, \ 521 external_ascii_internalized_string, \
532 ExternalAsciiInternalizedString) \ 522 ExternalAsciiInternalizedString) \
533 V(EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE, \ 523 V(EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE, \
534 ExternalTwoByteString::kSize, \ 524 ExternalTwoByteString::kSize, \
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 kStringRepresentationMask; 645 kStringRepresentationMask;
656 const uint32_t kShortcutTypeTag = kConsStringTag | kNotInternalizedTag; 646 const uint32_t kShortcutTypeTag = kConsStringTag | kNotInternalizedTag;
657 647
658 648
659 enum InstanceType { 649 enum InstanceType {
660 // String types. 650 // String types.
661 INTERNALIZED_STRING_TYPE = kTwoByteStringTag | kSeqStringTag 651 INTERNALIZED_STRING_TYPE = kTwoByteStringTag | kSeqStringTag
662 | kInternalizedTag, 652 | kInternalizedTag,
663 ASCII_INTERNALIZED_STRING_TYPE = kOneByteStringTag | kSeqStringTag 653 ASCII_INTERNALIZED_STRING_TYPE = kOneByteStringTag | kSeqStringTag
664 | kInternalizedTag, 654 | kInternalizedTag,
665 CONS_INTERNALIZED_STRING_TYPE = kTwoByteStringTag | kConsStringTag
666 | kInternalizedTag,
667 CONS_ASCII_INTERNALIZED_STRING_TYPE = kOneByteStringTag | kConsStringTag
668 | kInternalizedTag,
669 EXTERNAL_INTERNALIZED_STRING_TYPE = kTwoByteStringTag | kExternalStringTag 655 EXTERNAL_INTERNALIZED_STRING_TYPE = kTwoByteStringTag | kExternalStringTag
670 | kInternalizedTag, 656 | kInternalizedTag,
671 EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE = kOneByteStringTag 657 EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE = kOneByteStringTag
672 | kExternalStringTag | kInternalizedTag, 658 | kExternalStringTag | kInternalizedTag,
673 EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE = 659 EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE =
674 EXTERNAL_INTERNALIZED_STRING_TYPE | kOneByteDataHintTag 660 EXTERNAL_INTERNALIZED_STRING_TYPE | kOneByteDataHintTag
675 | kInternalizedTag, 661 | kInternalizedTag,
676 SHORT_EXTERNAL_INTERNALIZED_STRING_TYPE = 662 SHORT_EXTERNAL_INTERNALIZED_STRING_TYPE =
677 EXTERNAL_INTERNALIZED_STRING_TYPE | kShortExternalStringTag 663 EXTERNAL_INTERNALIZED_STRING_TYPE | kShortExternalStringTag
678 | kInternalizedTag, 664 | kInternalizedTag,
679 SHORT_EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE = 665 SHORT_EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE =
680 EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE | kShortExternalStringTag 666 EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE | kShortExternalStringTag
681 | kInternalizedTag, 667 | kInternalizedTag,
682 SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE = 668 SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE =
683 EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE 669 EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE
684 | kShortExternalStringTag | kInternalizedTag, 670 | kShortExternalStringTag | kInternalizedTag,
685 671
686 STRING_TYPE = INTERNALIZED_STRING_TYPE | kNotInternalizedTag, 672 STRING_TYPE = INTERNALIZED_STRING_TYPE | kNotInternalizedTag,
687 ASCII_STRING_TYPE = ASCII_INTERNALIZED_STRING_TYPE | kNotInternalizedTag, 673 ASCII_STRING_TYPE = ASCII_INTERNALIZED_STRING_TYPE | kNotInternalizedTag,
688 CONS_STRING_TYPE = CONS_INTERNALIZED_STRING_TYPE | kNotInternalizedTag, 674 CONS_STRING_TYPE = kTwoByteStringTag | kConsStringTag | kNotInternalizedTag,
689 CONS_ASCII_STRING_TYPE = 675 CONS_ASCII_STRING_TYPE =
690 CONS_ASCII_INTERNALIZED_STRING_TYPE | kNotInternalizedTag, 676 kOneByteStringTag | kConsStringTag | kNotInternalizedTag,
691 677
692 SLICED_STRING_TYPE = 678 SLICED_STRING_TYPE =
693 kTwoByteStringTag | kSlicedStringTag | kNotInternalizedTag, 679 kTwoByteStringTag | kSlicedStringTag | kNotInternalizedTag,
694 SLICED_ASCII_STRING_TYPE = 680 SLICED_ASCII_STRING_TYPE =
695 kOneByteStringTag | kSlicedStringTag | kNotInternalizedTag, 681 kOneByteStringTag | kSlicedStringTag | kNotInternalizedTag,
696 EXTERNAL_STRING_TYPE = 682 EXTERNAL_STRING_TYPE =
697 EXTERNAL_INTERNALIZED_STRING_TYPE | kNotInternalizedTag, 683 EXTERNAL_INTERNALIZED_STRING_TYPE | kNotInternalizedTag,
698 EXTERNAL_ASCII_STRING_TYPE = 684 EXTERNAL_ASCII_STRING_TYPE =
699 EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE | kNotInternalizedTag, 685 EXTERNAL_ASCII_INTERNALIZED_STRING_TYPE | kNotInternalizedTag,
700 EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE = 686 EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE =
(...skipping 10140 matching lines...) Expand 10 before | Expand all | Expand 10 after
10841 } else { 10827 } else {
10842 value &= ~(1 << bit_position); 10828 value &= ~(1 << bit_position);
10843 } 10829 }
10844 return value; 10830 return value;
10845 } 10831 }
10846 }; 10832 };
10847 10833
10848 } } // namespace v8::internal 10834 } } // namespace v8::internal
10849 10835
10850 #endif // V8_OBJECTS_H_ 10836 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/objects.cc » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698