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

Side by Side Diff: src/ic/ic-state.cc

Issue 1756413003: [runtime] Rename IsUndetectableObject to IsUndetectable. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 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
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/ic/ic-state.h" 5 #include "src/ic/ic-state.h"
6 6
7 #include "src/ic/ic.h" 7 #include "src/ic/ic.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 CompareICState::State CompareICState::NewInputState(State old_state, 397 CompareICState::State CompareICState::NewInputState(State old_state,
398 Handle<Object> value) { 398 Handle<Object> value) {
399 switch (old_state) { 399 switch (old_state) {
400 case UNINITIALIZED: 400 case UNINITIALIZED:
401 if (value->IsBoolean()) return BOOLEAN; 401 if (value->IsBoolean()) return BOOLEAN;
402 if (value->IsSmi()) return SMI; 402 if (value->IsSmi()) return SMI;
403 if (value->IsHeapNumber()) return NUMBER; 403 if (value->IsHeapNumber()) return NUMBER;
404 if (value->IsInternalizedString()) return INTERNALIZED_STRING; 404 if (value->IsInternalizedString()) return INTERNALIZED_STRING;
405 if (value->IsString()) return STRING; 405 if (value->IsString()) return STRING;
406 if (value->IsSymbol()) return UNIQUE_NAME; 406 if (value->IsSymbol()) return UNIQUE_NAME;
407 if (value->IsJSReceiver() && !value->IsUndetectableObject()) { 407 if (value->IsJSReceiver() && !value->IsUndetectable()) {
408 return RECEIVER; 408 return RECEIVER;
409 } 409 }
410 break; 410 break;
411 case BOOLEAN: 411 case BOOLEAN:
412 if (value->IsBoolean()) return BOOLEAN; 412 if (value->IsBoolean()) return BOOLEAN;
413 break; 413 break;
414 case SMI: 414 case SMI:
415 if (value->IsSmi()) return SMI; 415 if (value->IsSmi()) return SMI;
416 if (value->IsHeapNumber()) return NUMBER; 416 if (value->IsHeapNumber()) return NUMBER;
417 break; 417 break;
418 case NUMBER: 418 case NUMBER:
419 if (value->IsNumber()) return NUMBER; 419 if (value->IsNumber()) return NUMBER;
420 break; 420 break;
421 case INTERNALIZED_STRING: 421 case INTERNALIZED_STRING:
422 if (value->IsInternalizedString()) return INTERNALIZED_STRING; 422 if (value->IsInternalizedString()) return INTERNALIZED_STRING;
423 if (value->IsString()) return STRING; 423 if (value->IsString()) return STRING;
424 if (value->IsSymbol()) return UNIQUE_NAME; 424 if (value->IsSymbol()) return UNIQUE_NAME;
425 break; 425 break;
426 case STRING: 426 case STRING:
427 if (value->IsString()) return STRING; 427 if (value->IsString()) return STRING;
428 break; 428 break;
429 case UNIQUE_NAME: 429 case UNIQUE_NAME:
430 if (value->IsUniqueName()) return UNIQUE_NAME; 430 if (value->IsUniqueName()) return UNIQUE_NAME;
431 break; 431 break;
432 case RECEIVER: 432 case RECEIVER:
433 if (value->IsJSReceiver() && !value->IsUndetectableObject()) { 433 if (value->IsJSReceiver() && !value->IsUndetectable()) {
434 return RECEIVER; 434 return RECEIVER;
435 } 435 }
436 break; 436 break;
437 case GENERIC: 437 case GENERIC:
438 break; 438 break;
439 case KNOWN_RECEIVER: 439 case KNOWN_RECEIVER:
440 UNREACHABLE(); 440 UNREACHABLE();
441 break; 441 break;
442 } 442 }
443 return GENERIC; 443 return GENERIC;
(...skipping 17 matching lines...) Expand all
461 return NUMBER; 461 return NUMBER;
462 } 462 }
463 } 463 }
464 if (x->IsInternalizedString() && y->IsInternalizedString()) { 464 if (x->IsInternalizedString() && y->IsInternalizedString()) {
465 // We compare internalized strings as plain ones if we need to determine 465 // We compare internalized strings as plain ones if we need to determine
466 // the order in a non-equality compare. 466 // the order in a non-equality compare.
467 return Token::IsEqualityOp(op) ? INTERNALIZED_STRING : STRING; 467 return Token::IsEqualityOp(op) ? INTERNALIZED_STRING : STRING;
468 } 468 }
469 if (x->IsString() && y->IsString()) return STRING; 469 if (x->IsString() && y->IsString()) return STRING;
470 if (x->IsJSReceiver() && y->IsJSReceiver()) { 470 if (x->IsJSReceiver() && y->IsJSReceiver()) {
471 if (x->IsUndetectableObject() || y->IsUndetectableObject()) { 471 if (x->IsUndetectable() || y->IsUndetectable()) {
472 return GENERIC; 472 return GENERIC;
473 } 473 }
474 if (Handle<JSReceiver>::cast(x)->map() == 474 if (Handle<JSReceiver>::cast(x)->map() ==
475 Handle<JSReceiver>::cast(y)->map()) { 475 Handle<JSReceiver>::cast(y)->map()) {
476 return KNOWN_RECEIVER; 476 return KNOWN_RECEIVER;
477 } else { 477 } else {
478 return Token::IsEqualityOp(op) ? RECEIVER : GENERIC; 478 return Token::IsEqualityOp(op) ? RECEIVER : GENERIC;
479 } 479 }
480 } 480 }
481 if (!Token::IsEqualityOp(op)) return GENERIC; 481 if (!Token::IsEqualityOp(op)) return GENERIC;
(...skipping 24 matching lines...) Expand all
506 case RECEIVER: 506 case RECEIVER:
507 case GENERIC: 507 case GENERIC:
508 return GENERIC; 508 return GENERIC;
509 } 509 }
510 UNREACHABLE(); 510 UNREACHABLE();
511 return GENERIC; // Make the compiler happy. 511 return GENERIC; // Make the compiler happy.
512 } 512 }
513 513
514 } // namespace internal 514 } // namespace internal
515 } // namespace v8 515 } // namespace v8
OLDNEW
« no previous file with comments | « src/full-codegen/x87/full-codegen-x87.cc ('k') | src/objects.h » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698