OLD | NEW |
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 3008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3019 // SymbolTable. | 3019 // SymbolTable. |
3020 // | 3020 // |
3021 // No special elements in the prefix and the element size is 1 | 3021 // No special elements in the prefix and the element size is 1 |
3022 // because only the symbol itself (the key) needs to be stored. | 3022 // because only the symbol itself (the key) needs to be stored. |
3023 class SymbolTable: public HashTable<SymbolTableShape, HashTableKey*> { | 3023 class SymbolTable: public HashTable<SymbolTableShape, HashTableKey*> { |
3024 public: | 3024 public: |
3025 // Find symbol in the symbol table. If it is not there yet, it is | 3025 // Find symbol in the symbol table. If it is not there yet, it is |
3026 // added. The return value is the symbol table which might have | 3026 // added. The return value is the symbol table which might have |
3027 // been enlarged. If the return value is not a failure, the symbol | 3027 // been enlarged. If the return value is not a failure, the symbol |
3028 // pointer *s is set to the symbol found. | 3028 // pointer *s is set to the symbol found. |
3029 MUST_USE_RESULT MaybeObject* LookupSymbol(Vector<const char> str, Object** s); | 3029 MUST_USE_RESULT MaybeObject* LookupUtf8Symbol(Vector<const char> str, |
3030 MUST_USE_RESULT MaybeObject* LookupAsciiSymbol(Vector<const char> str, | 3030 Object** s); |
3031 Object** s); | 3031 MUST_USE_RESULT MaybeObject* LookupOneByteSymbol(Vector<const char> str, |
3032 MUST_USE_RESULT MaybeObject* LookupSubStringAsciiSymbol( | 3032 Object** s); |
| 3033 MUST_USE_RESULT MaybeObject* LookupSubStringOneByteSymbol( |
3033 Handle<SeqOneByteString> str, | 3034 Handle<SeqOneByteString> str, |
3034 int from, | 3035 int from, |
3035 int length, | 3036 int length, |
3036 Object** s); | 3037 Object** s); |
3037 MUST_USE_RESULT MaybeObject* LookupTwoByteSymbol(Vector<const uc16> str, | 3038 MUST_USE_RESULT MaybeObject* LookupTwoByteSymbol(Vector<const uc16> str, |
3038 Object** s); | 3039 Object** s); |
3039 MUST_USE_RESULT MaybeObject* LookupString(String* key, Object** s); | 3040 MUST_USE_RESULT MaybeObject* LookupString(String* key, Object** s); |
3040 | 3041 |
3041 // Looks up a symbol that is equal to the given string and returns | 3042 // Looks up a symbol that is equal to the given string and returns |
3042 // true if it is found, assigning the symbol to the given output | 3043 // true if it is found, assigning the symbol to the given output |
(...skipping 5839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8882 } else { | 8883 } else { |
8883 value &= ~(1 << bit_position); | 8884 value &= ~(1 << bit_position); |
8884 } | 8885 } |
8885 return value; | 8886 return value; |
8886 } | 8887 } |
8887 }; | 8888 }; |
8888 | 8889 |
8889 } } // namespace v8::internal | 8890 } } // namespace v8::internal |
8890 | 8891 |
8891 #endif // V8_OBJECTS_H_ | 8892 #endif // V8_OBJECTS_H_ |
OLD | NEW |