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

Side by Side Diff: src/types.cc

Issue 139973004: A64: Synchronize with r15814. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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 | « src/typedarray.js ('k') | src/v8-counters.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 case JS_MODULE_TYPE: 173 case JS_MODULE_TYPE:
174 case JS_GLOBAL_OBJECT_TYPE: 174 case JS_GLOBAL_OBJECT_TYPE:
175 case JS_BUILTINS_OBJECT_TYPE: 175 case JS_BUILTINS_OBJECT_TYPE:
176 case JS_GLOBAL_PROXY_TYPE: 176 case JS_GLOBAL_PROXY_TYPE:
177 case JS_ARRAY_BUFFER_TYPE: 177 case JS_ARRAY_BUFFER_TYPE:
178 case JS_TYPED_ARRAY_TYPE: 178 case JS_TYPED_ARRAY_TYPE:
179 case JS_DATA_VIEW_TYPE: 179 case JS_DATA_VIEW_TYPE:
180 case JS_SET_TYPE: 180 case JS_SET_TYPE:
181 case JS_MAP_TYPE: 181 case JS_MAP_TYPE:
182 case JS_WEAK_MAP_TYPE: 182 case JS_WEAK_MAP_TYPE:
183 case JS_WEAK_SET_TYPE:
183 if (map->is_undetectable()) return kUndetectable; 184 if (map->is_undetectable()) return kUndetectable;
184 return kOtherObject; 185 return kOtherObject;
185 case JS_ARRAY_TYPE: 186 case JS_ARRAY_TYPE:
186 return kArray; 187 return kArray;
187 case JS_FUNCTION_TYPE: 188 case JS_FUNCTION_TYPE:
188 return kFunction; 189 return kFunction;
189 case JS_REGEXP_TYPE: 190 case JS_REGEXP_TYPE:
190 return kRegExp; 191 return kRegExp;
191 case JS_PROXY_TYPE: 192 case JS_PROXY_TYPE:
192 case JS_FUNCTION_PROXY_TYPE: 193 case JS_FUNCTION_PROXY_TYPE:
193 return kProxy; 194 return kProxy;
194 case MAP_TYPE: 195 case MAP_TYPE:
195 // When compiling stub templates, the meta map is used as a place holder 196 // When compiling stub templates, the meta map is used as a place holder
196 // for the actual map with which the template is later instantiated. 197 // for the actual map with which the template is later instantiated.
197 // We treat it as a kind of type variable whose upper bound is Any. 198 // We treat it as a kind of type variable whose upper bound is Any.
198 // TODO(rossberg): for caching of CompareNilIC stubs to work correctly, 199 // TODO(rossberg): for caching of CompareNilIC stubs to work correctly,
199 // we must exclude Undetectable here. This makes no sense, really, 200 // we must exclude Undetectable here. This makes no sense, really,
200 // because it means that the template isn't actually parametric. 201 // because it means that the template isn't actually parametric.
201 // Also, it doesn't apply elsewhere. 8-( 202 // Also, it doesn't apply elsewhere. 8-(
202 // We ought to find a cleaner solution for compiling stubs parameterised 203 // We ought to find a cleaner solution for compiling stubs parameterised
203 // over type or class variables, esp ones with bounds... 204 // over type or class variables, esp ones with bounds...
204 return kDetectable; 205 return kDetectable;
205 case DECLARED_ACCESSOR_INFO_TYPE: 206 case DECLARED_ACCESSOR_INFO_TYPE:
206 case EXECUTABLE_ACCESSOR_INFO_TYPE: 207 case EXECUTABLE_ACCESSOR_INFO_TYPE:
207 case ACCESSOR_PAIR_TYPE: 208 case ACCESSOR_PAIR_TYPE:
209 case FIXED_ARRAY_TYPE:
208 return kInternal; 210 return kInternal;
209 default: 211 default:
210 UNREACHABLE(); 212 UNREACHABLE();
211 return kNone; 213 return kNone;
212 } 214 }
213 } 215 }
214 } 216 }
215 217
216 218
217 // Get the largest bitset subsumed by this type. 219 // Get the largest bitset subsumed by this type.
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 if (i > 0) PrintF(out, ","); 528 if (i > 0) PrintF(out, ",");
527 type_i->TypePrint(out); 529 type_i->TypePrint(out);
528 } 530 }
529 PrintF(out, "}"); 531 PrintF(out, "}");
530 } 532 }
531 } 533 }
532 #endif 534 #endif
533 535
534 536
535 } } // namespace v8::internal 537 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/typedarray.js ('k') | src/v8-counters.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698