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

Side by Side Diff: src/runtime.cc

Issue 6542: Fix incorrect short cut test that assumed ASCII strings could be Latin1. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 12 years, 2 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 // Cap bad char table to last p chars of pattern. Also max skip value. 1079 // Cap bad char table to last p chars of pattern. Also max skip value.
1080 int p = m < kBMHSignificantSuffixLength ? m : kBMHSignificantSuffixLength; 1080 int p = m < kBMHSignificantSuffixLength ? m : kBMHSignificantSuffixLength;
1081 1081
1082 memset(bad_char_map, p, kBMHBadCharCount); 1082 memset(bad_char_map, p, kBMHBadCharCount);
1083 1083
1084 // Run forwards to populate bad_char_table, so that *last* instance 1084 // Run forwards to populate bad_char_table, so that *last* instance
1085 // of character equivalence class is the one registered. 1085 // of character equivalence class is the one registered.
1086 // Notice: Doesn't include last character. 1086 // Notice: Doesn't include last character.
1087 for (int i = p < m ? m - p : 0; i < m - 1; i++) { 1087 for (int i = p < m ? m - p : 0; i < m - 1; i++) {
1088 uc32 c = pattern[i]; 1088 uc32 c = pattern[i];
1089 if (sizeof(schar) == 1 && c > 255) return -1; 1089 if (sizeof(schar) == 1 &&
1090 sizeof(pchar) > 1 &&
1091 c > String::kMaxAsciiCharCode) {
1092 return -1;
1093 }
1090 bad_char_map[c & kBMHSignificantBitsMask] = m - 1 - i; 1094 bad_char_map[c & kBMHSignificantBitsMask] = m - 1 - i;
1091 } 1095 }
1092 1096
1093 for (int i = start_index + m - 1, j = m - 1; i < n;) { 1097 for (int i = start_index + m - 1, j = m - 1; i < n;) {
1094 schar c = subject[i]; 1098 schar c = subject[i];
1095 if (c == pattern[j]) { 1099 if (c == pattern[j]) {
1096 if (j == 0) { 1100 if (j == 0) {
1097 return i; 1101 return i;
1098 } 1102 }
1099 j--; 1103 j--;
(...skipping 4157 matching lines...) Expand 10 before | Expand all | Expand 10 after
5257 5261
5258 void Runtime::PerformGC(Object* result) { 5262 void Runtime::PerformGC(Object* result) {
5259 Failure* failure = Failure::cast(result); 5263 Failure* failure = Failure::cast(result);
5260 // Try to do a garbage collection; ignore it if it fails. The C 5264 // Try to do a garbage collection; ignore it if it fails. The C
5261 // entry stub will throw an out-of-memory exception in that case. 5265 // entry stub will throw an out-of-memory exception in that case.
5262 Heap::CollectGarbage(failure->requested(), failure->allocation_space()); 5266 Heap::CollectGarbage(failure->requested(), failure->allocation_space());
5263 } 5267 }
5264 5268
5265 5269
5266 } } // namespace v8::internal 5270 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698