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

Side by Side Diff: src/factory.h

Issue 249103002: StringTable::LookupKey() and all callers handlified. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressing review notes 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 | « no previous file | src/factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_FACTORY_H_ 5 #ifndef V8_FACTORY_H_
6 #define V8_FACTORY_H_ 6 #define V8_FACTORY_H_
7 7
8 #include "isolate.h" 8 #include "isolate.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 74
75 // Create a new boxed value. 75 // Create a new boxed value.
76 Handle<Box> NewBox(Handle<Object> value); 76 Handle<Box> NewBox(Handle<Object> value);
77 77
78 // Create a pre-tenured empty AccessorPair. 78 // Create a pre-tenured empty AccessorPair.
79 Handle<AccessorPair> NewAccessorPair(); 79 Handle<AccessorPair> NewAccessorPair();
80 80
81 // Create an empty TypeFeedbackInfo. 81 // Create an empty TypeFeedbackInfo.
82 Handle<TypeFeedbackInfo> NewTypeFeedbackInfo(); 82 Handle<TypeFeedbackInfo> NewTypeFeedbackInfo();
83 83
84 // Finds the internalized copy for string in the string table.
85 // If not found, a new string is added to the table and returned.
84 Handle<String> InternalizeUtf8String(Vector<const char> str); 86 Handle<String> InternalizeUtf8String(Vector<const char> str);
85 Handle<String> InternalizeUtf8String(const char* str) { 87 Handle<String> InternalizeUtf8String(const char* str) {
86 return InternalizeUtf8String(CStrVector(str)); 88 return InternalizeUtf8String(CStrVector(str));
87 } 89 }
88 Handle<String> InternalizeString(Handle<String> str); 90 Handle<String> InternalizeString(Handle<String> str);
89 Handle<String> InternalizeOneByteString(Vector<const uint8_t> str); 91 Handle<String> InternalizeOneByteString(Vector<const uint8_t> str);
90 Handle<String> InternalizeOneByteString( 92 Handle<String> InternalizeOneByteString(
91 Handle<SeqOneByteString>, int from, int length); 93 Handle<SeqOneByteString>, int from, int length);
92 94
93 Handle<String> InternalizeTwoByteString(Vector<const uc16> str); 95 Handle<String> InternalizeTwoByteString(Vector<const uc16> str);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 // Allocates and partially initializes an ASCII or TwoByte String. The 160 // Allocates and partially initializes an ASCII or TwoByte String. The
159 // characters of the string are uninitialized. Currently used in regexp code 161 // characters of the string are uninitialized. Currently used in regexp code
160 // only, where they are pretenured. 162 // only, where they are pretenured.
161 MUST_USE_RESULT MaybeHandle<SeqOneByteString> NewRawOneByteString( 163 MUST_USE_RESULT MaybeHandle<SeqOneByteString> NewRawOneByteString(
162 int length, 164 int length,
163 PretenureFlag pretenure = NOT_TENURED); 165 PretenureFlag pretenure = NOT_TENURED);
164 MUST_USE_RESULT MaybeHandle<SeqTwoByteString> NewRawTwoByteString( 166 MUST_USE_RESULT MaybeHandle<SeqTwoByteString> NewRawTwoByteString(
165 int length, 167 int length,
166 PretenureFlag pretenure = NOT_TENURED); 168 PretenureFlag pretenure = NOT_TENURED);
167 169
168 Handle<String> LookupSingleCharacterStringFromCode(uint32_t index); 170 // Creates a single character string where the character has given code.
171 // A cache is used for ASCII codes.
172 Handle<String> LookupSingleCharacterStringFromCode(uint32_t code);
169 173
170 // Create a new cons string object which consists of a pair of strings. 174 // Create a new cons string object which consists of a pair of strings.
171 MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left, 175 MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left,
172 Handle<String> right); 176 Handle<String> right);
173 177
174 Handle<ConsString> NewRawConsString(String::Encoding encoding); 178 Handle<ConsString> NewRawConsString(String::Encoding encoding);
175 179
176 // Create a new sequential string containing the concatenation of the inputs. 180 // Create a new sequential string containing the concatenation of the inputs.
177 Handle<String> NewFlatConcatString(Handle<String> first, 181 Handle<String> NewFlatConcatString(Handle<String> first,
178 Handle<String> second); 182 Handle<String> second);
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 #undef STRUCT_MAP_ACCESSOR 572 #undef STRUCT_MAP_ACCESSOR
569 573
570 #define STRING_ACCESSOR(name, str) \ 574 #define STRING_ACCESSOR(name, str) \
571 inline Handle<String> name() { \ 575 inline Handle<String> name() { \
572 return Handle<String>(BitCast<String**>( \ 576 return Handle<String>(BitCast<String**>( \
573 &isolate()->heap()->roots_[Heap::k##name##RootIndex])); \ 577 &isolate()->heap()->roots_[Heap::k##name##RootIndex])); \
574 } 578 }
575 INTERNALIZED_STRING_LIST(STRING_ACCESSOR) 579 INTERNALIZED_STRING_LIST(STRING_ACCESSOR)
576 #undef STRING_ACCESSOR 580 #undef STRING_ACCESSOR
577 581
582 inline void set_string_table(Handle<StringTable> table) {
583 isolate()->heap()->set_string_table(*table);
584 }
585
578 Handle<String> hidden_string() { 586 Handle<String> hidden_string() {
579 return Handle<String>(&isolate()->heap()->hidden_string_); 587 return Handle<String>(&isolate()->heap()->hidden_string_);
580 } 588 }
581 589
582 // Allocates a new SharedFunctionInfo object. 590 // Allocates a new SharedFunctionInfo object.
583 Handle<SharedFunctionInfo> NewSharedFunctionInfo( 591 Handle<SharedFunctionInfo> NewSharedFunctionInfo(
584 Handle<String> name, 592 Handle<String> name,
585 int number_of_literals, 593 int number_of_literals,
586 bool is_generator, 594 bool is_generator,
587 Handle<Code> code, 595 Handle<Code> code,
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 // the string representation of the number. Otherwise return undefined. 689 // the string representation of the number. Otherwise return undefined.
682 Handle<Object> GetNumberStringCache(Handle<Object> number); 690 Handle<Object> GetNumberStringCache(Handle<Object> number);
683 691
684 // Update the cache with a new number-string pair. 692 // Update the cache with a new number-string pair.
685 void SetNumberStringCache(Handle<Object> number, Handle<String> string); 693 void SetNumberStringCache(Handle<Object> number, Handle<String> string);
686 }; 694 };
687 695
688 } } // namespace v8::internal 696 } } // namespace v8::internal
689 697
690 #endif // V8_FACTORY_H_ 698 #endif // V8_FACTORY_H_
OLDNEW
« no previous file with comments | « no previous file | src/factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698