Changeset 88119 in webkit
- Timestamp:
- Jun 4, 2011 11:55:17 AM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r88113 r88119 1 2011-06-04 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Darin Adler. 4 5 Fix formatting of the output generated by KeywordLookupGenerator.py 6 https://bugs.webkit.org/show_bug.cgi?id=62083 7 8 - Uses correct year for copyright. 9 - Puts ending brace on same line as "else if" 10 - Puts starting brace of function on its own line. 11 - Adds some tasteful whitespace. 12 - Adds comments to make clear that scopes are ending 13 - Make macros actually split on two lines. 14 15 * KeywordLookupGenerator.py: 16 1 17 2011-06-04 Adam Barth <abarth@webkit.org> 2 18 -
trunk/Source/JavaScriptCore/KeywordLookupGenerator.py
r88094 r88119 1 # Copyright (C) 201 0Apple Inc. All rights reserved.1 # Copyright (C) 2011 Apple Inc. All rights reserved. 2 2 # 3 3 # Redistribution and use in source and binary forms, with or without … … 150 150 print(str + "if (" + comparison + ") {") 151 151 else: 152 print(str + " else if (" + comparison + ") {")152 print(str + "} else if (" + comparison + ") {") 153 153 154 154 trie.printSubTreeAsC(indent + 4) 155 155 itemCount = itemCount + 1 156 print(str + "}") 156 157 if itemCount == len(self.keys): 158 print(str + "}") 157 159 158 160 def maxLength(self): … … 166 168 def printAsC(self): 167 169 print("namespace JSC {") 170 print("") 168 171 print("static ALWAYS_INLINE bool isIdentPart(int c);") 169 172 # max length + 1 so we don't need to do any bounds checking at all 170 173 print("static const int maxTokenLength = %d;" % (self.maxLength() + 1)) 171 print("template <bool shouldCreateIdentifier> ALWAYS_INLINE JSTokenType Lexer::parseKeyword(JSTokenData* data) {") 174 print("") 175 print("template <bool shouldCreateIdentifier> ALWAYS_INLINE JSTokenType Lexer::parseKeyword(JSTokenData* data)") 176 print("{") 172 177 print(" ASSERT(m_codeEnd - m_code >= maxTokenLength);") 178 print("") 173 179 print(" const UChar* code = m_code;") 174 180 self.printSubTreeAsC(4) 175 181 print(" return IDENT;") 176 182 print("}") 177 print("}") 183 print("") 184 print("} // namespace JSC") 178 185 179 186 keywords = parseKeywords(keywordsText) … … 185 192 print("// This file was generated by KeywordLookupGenerator.py. Do not edit.") 186 193 print(""" 187 188 194 #if CPU(NEEDS_ALIGNED_ACCESS) 189 195 190 #define COMPARE_CHARACTERS2(address, char1, char2) \ 196 #define COMPARE_CHARACTERS2(address, char1, char2) \\ 191 197 (((address)[0] == char1) && ((address)[1] == char2)) 192 #define COMPARE_CHARACTERS4(address, char1, char2, char3, char4) \ 198 #define COMPARE_CHARACTERS4(address, char1, char2, char3, char4) \\ 193 199 (COMPARE_CHARACTERS2(address, char1, char2) && COMPARE_CHARACTERS2((address) + 2, char3, char4)) 194 200 195 #else 201 #else // CPU(NEEDS_ALIGNED_ACCESS) 196 202 197 203 #if CPU(BIG_ENDIAN) 198 #define CHARPAIR_TOUINT32(a, b) ((((uint32_t)(a)) << 16) + (uint32_t)(b)) 199 #define CHARQUAD_TOUINT64(a, b, c, d) ((((uint64_t)(CHARPAIR_TOUINT32(a, b))) << 32) + CHARPAIR_TOUINT32(c, d)) 200 #else 201 #define CHARPAIR_TOUINT32(a, b) ((((uint32_t)(b)) << 16) + (uint32_t)(a)) 202 #define CHARQUAD_TOUINT64(a, b, c, d) ((((uint64_t)(CHARPAIR_TOUINT32(c, d))) << 32) + CHARPAIR_TOUINT32(a, b)) 203 #endif 204 205 #define COMPARE_CHARACTERS2(address, char1, char2) \ 204 205 #define CHARPAIR_TOUINT32(a, b) \\ 206 ((((uint32_t)(a)) << 16) + (uint32_t)(b)) 207 #define CHARQUAD_TOUINT64(a, b, c, d) \\ 208 ((((uint64_t)(CHARPAIR_TOUINT32(a, b))) << 32) + CHARPAIR_TOUINT32(c, d)) 209 210 #else // CPU(BIG_ENDIAN) 211 212 #define CHARPAIR_TOUINT32(a, b) \\ 213 ((((uint32_t)(b)) << 16) + (uint32_t)(a)) 214 #define CHARQUAD_TOUINT64(a, b, c, d) \\ 215 ((((uint64_t)(CHARPAIR_TOUINT32(c, d))) << 32) + CHARPAIR_TOUINT32(a, b)) 216 217 #endif // CPU(BIG_ENDIAN) 218 219 220 #define COMPARE_CHARACTERS2(address, char1, char2) \\ 206 221 (((uint32_t*)(address))[0] == CHARPAIR_TOUINT32(char1, char2)) 222 207 223 #if CPU(X86_64) 208 224 209 #define COMPARE_CHARACTERS4(address, char1, char2, char3, char4) \ 225 #define COMPARE_CHARACTERS4(address, char1, char2, char3, char4) \\ 210 226 (((uint64_t*)(address))[0] == CHARQUAD_TOUINT64(char1, char2, char3, char4)) 211 #else 212 #define COMPARE_CHARACTERS4(address, char1, char2, char3, char4) \ 227 228 #else // CPU(X86_64) 229 230 #define COMPARE_CHARACTERS4(address, char1, char2, char3, char4) \\ 213 231 (COMPARE_CHARACTERS2(address, char1, char2) && COMPARE_CHARACTERS2((address) + 2, char3, char4)) 214 #endif 215 216 #endif 217 218 #define COMPARE_CHARACTERS3(address, char1, char2, char3) \ 232 233 #endif // CPU(X86_64) 234 235 #endif // CPU(NEEDS_ALIGNED_ACCESS) 236 237 #define COMPARE_CHARACTERS3(address, char1, char2, char3) \\ 219 238 (COMPARE_CHARACTERS2(address, char1, char2) && ((address)[2] == (char3))) 220 #define COMPARE_CHARACTERS5(address, char1, char2, char3, char4, char5) \ 239 #define COMPARE_CHARACTERS5(address, char1, char2, char3, char4, char5) \\ 221 240 (COMPARE_CHARACTERS4(address, char1, char2, char3, char4) && ((address)[4] == (char5))) 222 #define COMPARE_CHARACTERS6(address, char1, char2, char3, char4, char5, char6) \ 241 #define COMPARE_CHARACTERS6(address, char1, char2, char3, char4, char5, char6) \\ 223 242 (COMPARE_CHARACTERS4(address, char1, char2, char3, char4) && COMPARE_CHARACTERS2(address + 4, char5, char6)) 224 #define COMPARE_CHARACTERS7(address, char1, char2, char3, char4, char5, char6, char7) \ 243 #define COMPARE_CHARACTERS7(address, char1, char2, char3, char4, char5, char6, char7) \\ 225 244 (COMPARE_CHARACTERS4(address, char1, char2, char3, char4) && COMPARE_CHARACTERS4(address + 3, char4, char5, char6, char7)) 226 #define COMPARE_CHARACTERS8(address, char1, char2, char3, char4, char5, char6, char7, char8) \ 245 #define COMPARE_CHARACTERS8(address, char1, char2, char3, char4, char5, char6, char7, char8) \\ 227 246 (COMPARE_CHARACTERS4(address, char1, char2, char3, char4) && COMPARE_CHARACTERS4(address + 4, char5, char6, char7, char8)) 228 247 """)
Note: See TracChangeset
for help on using the changeset viewer.