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

Side by Side Diff: src/heap.h

Issue 11469014: Add a safe API for creating ASCII-only strings
Patch Set: Created 8 years 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
« no previous file with comments | « src/factory.cc ('k') | src/heap.cc » ('j') | src/heap.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 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 // - ...FromTwoByte initializes the string from a buffer that is two-byte 694 // - ...FromTwoByte initializes the string from a buffer that is two-byte
695 // encoded. If the characters are all single-byte characters, the 695 // encoded. If the characters are all single-byte characters, the
696 // result will be converted to ASCII, otherwise it will be left as 696 // result will be converted to ASCII, otherwise it will be left as
697 // two-byte. 697 // two-byte.
698 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation 698 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
699 // failed. 699 // failed.
700 // Please note this does not perform a garbage collection. 700 // Please note this does not perform a garbage collection.
701 MUST_USE_RESULT MaybeObject* AllocateStringFromOneByte( 701 MUST_USE_RESULT MaybeObject* AllocateStringFromOneByte(
702 Vector<const char> str, 702 Vector<const char> str,
703 PretenureFlag pretenure = NOT_TENURED); 703 PretenureFlag pretenure = NOT_TENURED);
704 MUST_USE_RESULT MaybeObject* AllocateStringFromAsciiSafe(
705 Vector<const char> str,
706 PretenureFlag pretenure = NOT_TENURED);
704 MUST_USE_RESULT inline MaybeObject* AllocateStringFromUtf8( 707 MUST_USE_RESULT inline MaybeObject* AllocateStringFromUtf8(
705 Vector<const char> str, 708 Vector<const char> str,
706 PretenureFlag pretenure = NOT_TENURED); 709 PretenureFlag pretenure = NOT_TENURED);
707 MUST_USE_RESULT MaybeObject* AllocateStringFromUtf8Slow( 710 MUST_USE_RESULT MaybeObject* AllocateStringFromUtf8Slow(
708 Vector<const char> str, 711 Vector<const char> str,
709 int non_ascii_start, 712 int non_ascii_start,
710 PretenureFlag pretenure = NOT_TENURED); 713 PretenureFlag pretenure = NOT_TENURED);
711 MUST_USE_RESULT MaybeObject* AllocateStringFromTwoByte( 714 MUST_USE_RESULT MaybeObject* AllocateStringFromTwoByte(
712 Vector<const uc16> str, 715 Vector<const uc16> str,
713 PretenureFlag pretenure = NOT_TENURED); 716 PretenureFlag pretenure = NOT_TENURED);
(...skipping 2102 matching lines...) Expand 10 before | Expand all | Expand 10 after
2816 AssertNoAllocation no_alloc; // i.e. no gc allowed. 2819 AssertNoAllocation no_alloc; // i.e. no gc allowed.
2817 2820
2818 private: 2821 private:
2819 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2822 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2820 }; 2823 };
2821 #endif // DEBUG || LIVE_OBJECT_LIST 2824 #endif // DEBUG || LIVE_OBJECT_LIST
2822 2825
2823 } } // namespace v8::internal 2826 } } // namespace v8::internal
2824 2827
2825 #endif // V8_HEAP_H_ 2828 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/heap.cc » ('j') | src/heap.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698