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

Side by Side Diff: src/objects.cc

Issue 6474026: Strict mode assignment to undefined reference. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix presubmit. Created 9 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
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 6220 matching lines...) Expand 10 before | Expand all | Expand 10 after
6231 case INTERCEPTOR: return "INTERCEPTOR"; 6231 case INTERCEPTOR: return "INTERCEPTOR";
6232 case MAP_TRANSITION: return "MAP_TRANSITION"; 6232 case MAP_TRANSITION: return "MAP_TRANSITION";
6233 case CONSTANT_TRANSITION: return "CONSTANT_TRANSITION"; 6233 case CONSTANT_TRANSITION: return "CONSTANT_TRANSITION";
6234 case NULL_DESCRIPTOR: return "NULL_DESCRIPTOR"; 6234 case NULL_DESCRIPTOR: return "NULL_DESCRIPTOR";
6235 } 6235 }
6236 UNREACHABLE(); 6236 UNREACHABLE();
6237 return NULL; 6237 return NULL;
6238 } 6238 }
6239 6239
6240 6240
6241 void Code::PrintExtraICState(FILE* out, Kind kind, ExtraICState extra) {
6242 const char* name = NULL;
6243 switch (kind) {
6244 case CALL_IC:
6245 if (extra == STRING_INDEX_OUT_OF_BOUNDS) {
6246 name = "STRING_INDEX_OUT_OF_BOUNDS";
6247 }
6248 break;
6249 case STORE_IC:
6250 if (extra == StoreIC::kStoreICStrict) {
6251 name = "STRICT";
6252 }
6253 break;
6254 default:
6255 break;
6256 }
6257 if (name != NULL) {
6258 PrintF(out, "extra_ic_state = %s\n", name);
6259 } else {
6260 PrintF(out, "etra_ic_state = %d\n", extra);
6261 }
6262 }
6263
6264
6241 void Code::Disassemble(const char* name, FILE* out) { 6265 void Code::Disassemble(const char* name, FILE* out) {
6242 PrintF(out, "kind = %s\n", Kind2String(kind())); 6266 PrintF(out, "kind = %s\n", Kind2String(kind()));
6243 if (is_inline_cache_stub()) { 6267 if (is_inline_cache_stub()) {
6244 PrintF(out, "ic_state = %s\n", ICState2String(ic_state())); 6268 PrintF(out, "ic_state = %s\n", ICState2String(ic_state()));
6269 PrintExtraICState(out, kind(), extra_ic_state());
6245 PrintF(out, "ic_in_loop = %d\n", ic_in_loop() == IN_LOOP); 6270 PrintF(out, "ic_in_loop = %d\n", ic_in_loop() == IN_LOOP);
6246 if (ic_state() == MONOMORPHIC) { 6271 if (ic_state() == MONOMORPHIC) {
6247 PrintF(out, "type = %s\n", PropertyType2String(type())); 6272 PrintF(out, "type = %s\n", PropertyType2String(type()));
6248 } 6273 }
6249 } 6274 }
6250 if ((name != NULL) && (name[0] != '\0')) { 6275 if ((name != NULL) && (name[0] != '\0')) {
6251 PrintF(out, "name = %s\n", name); 6276 PrintF(out, "name = %s\n", name);
6252 } 6277 }
6253 if (kind() == OPTIMIZED_FUNCTION) { 6278 if (kind() == OPTIMIZED_FUNCTION) {
6254 PrintF(out, "stack_slots = %d\n", stack_slots()); 6279 PrintF(out, "stack_slots = %d\n", stack_slots());
(...skipping 3673 matching lines...) Expand 10 before | Expand all | Expand 10 after
9928 if (break_point_objects()->IsUndefined()) return 0; 9953 if (break_point_objects()->IsUndefined()) return 0;
9929 // Single beak point. 9954 // Single beak point.
9930 if (!break_point_objects()->IsFixedArray()) return 1; 9955 if (!break_point_objects()->IsFixedArray()) return 1;
9931 // Multiple break points. 9956 // Multiple break points.
9932 return FixedArray::cast(break_point_objects())->length(); 9957 return FixedArray::cast(break_point_objects())->length();
9933 } 9958 }
9934 #endif 9959 #endif
9935 9960
9936 9961
9937 } } // namespace v8::internal 9962 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/objects-inl.h » ('j') | src/stub-cache.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698