| OLD | NEW |
| 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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 char underlying_buffer[kLastFlag * 128]; | 426 char underlying_buffer[kLastFlag * 128]; |
| 427 Vector<char> buffer(underlying_buffer, sizeof(underlying_buffer)); | 427 Vector<char> buffer(underlying_buffer, sizeof(underlying_buffer)); |
| 428 #if DEBUG | 428 #if DEBUG |
| 429 int offset = 0; | 429 int offset = 0; |
| 430 const char* separator = ""; | 430 const char* separator = ""; |
| 431 const char* comma = ", "; | 431 const char* comma = ", "; |
| 432 buffer[0] = 0; | 432 buffer[0] = 0; |
| 433 uint32_t set_depends_on = 0; | 433 uint32_t set_depends_on = 0; |
| 434 uint32_t set_changes = 0; | 434 uint32_t set_changes = 0; |
| 435 for (int bit = 0; bit < kLastFlag; ++bit) { | 435 for (int bit = 0; bit < kLastFlag; ++bit) { |
| 436 if ((flags.ToIntegral() & (1 << bit)) != 0) { | 436 if (flags.Contains(static_cast<GVNFlag>(bit))) { |
| 437 if (bit % 2 == 0) { | 437 if (bit % 2 == 0) { |
| 438 set_changes++; | 438 set_changes++; |
| 439 } else { | 439 } else { |
| 440 set_depends_on++; | 440 set_depends_on++; |
| 441 } | 441 } |
| 442 } | 442 } |
| 443 } | 443 } |
| 444 bool positive_changes = set_changes < (kLastFlag / 2); | 444 bool positive_changes = set_changes < (kLastFlag / 2); |
| 445 bool positive_depends_on = set_depends_on < (kLastFlag / 2); | 445 bool positive_depends_on = set_depends_on < (kLastFlag / 2); |
| 446 if (set_changes > 0) { | 446 if (set_changes > 0) { |
| 447 if (positive_changes) { | 447 if (positive_changes) { |
| 448 offset += OS::SNPrintF(buffer + offset, "changes ["); | 448 offset += OS::SNPrintF(buffer + offset, "changes ["); |
| 449 } else { | 449 } else { |
| 450 offset += OS::SNPrintF(buffer + offset, "changes all except ["); | 450 offset += OS::SNPrintF(buffer + offset, "changes all except ["); |
| 451 } | 451 } |
| 452 for (int bit = 0; bit < kLastFlag; ++bit) { | 452 for (int bit = 0; bit < kLastFlag; ++bit) { |
| 453 if (((flags.ToIntegral() & (1 << bit)) != 0) == positive_changes) { | 453 if (flags.Contains(static_cast<GVNFlag>(bit)) == positive_changes) { |
| 454 switch (static_cast<GVNFlag>(bit)) { | 454 switch (static_cast<GVNFlag>(bit)) { |
| 455 #define DECLARE_FLAG(type) \ | 455 #define DECLARE_FLAG(type) \ |
| 456 case kChanges##type: \ | 456 case kChanges##type: \ |
| 457 offset += OS::SNPrintF(buffer + offset, separator); \ | 457 offset += OS::SNPrintF(buffer + offset, separator); \ |
| 458 offset += OS::SNPrintF(buffer + offset, #type); \ | 458 offset += OS::SNPrintF(buffer + offset, #type); \ |
| 459 separator = comma; \ | 459 separator = comma; \ |
| 460 break; | 460 break; |
| 461 GVN_TRACKED_FLAG_LIST(DECLARE_FLAG) | 461 GVN_TRACKED_FLAG_LIST(DECLARE_FLAG) |
| 462 GVN_UNTRACKED_FLAG_LIST(DECLARE_FLAG) | 462 GVN_UNTRACKED_FLAG_LIST(DECLARE_FLAG) |
| 463 #undef DECLARE_FLAG | 463 #undef DECLARE_FLAG |
| 464 default: | 464 default: |
| 465 break; | 465 break; |
| 466 } | 466 } |
| 467 } | 467 } |
| 468 } | 468 } |
| 469 offset += OS::SNPrintF(buffer + offset, "]"); | 469 offset += OS::SNPrintF(buffer + offset, "]"); |
| 470 } | 470 } |
| 471 if (set_depends_on > 0) { | 471 if (set_depends_on > 0) { |
| 472 separator = ""; | 472 separator = ""; |
| 473 if (set_changes > 0) { | 473 if (set_changes > 0) { |
| 474 offset += OS::SNPrintF(buffer + offset, ", "); | 474 offset += OS::SNPrintF(buffer + offset, ", "); |
| 475 } | 475 } |
| 476 if (positive_depends_on) { | 476 if (positive_depends_on) { |
| 477 offset += OS::SNPrintF(buffer + offset, "depends on ["); | 477 offset += OS::SNPrintF(buffer + offset, "depends on ["); |
| 478 } else { | 478 } else { |
| 479 offset += OS::SNPrintF(buffer + offset, "depends on all except ["); | 479 offset += OS::SNPrintF(buffer + offset, "depends on all except ["); |
| 480 } | 480 } |
| 481 for (int bit = 0; bit < kLastFlag; ++bit) { | 481 for (int bit = 0; bit < kLastFlag; ++bit) { |
| 482 if (((flags.ToIntegral() & (1 << bit)) != 0) == positive_depends_on) { | 482 if (flags.Contains(static_cast<GVNFlag>(bit)) == positive_depends_on) { |
| 483 switch (static_cast<GVNFlag>(bit)) { | 483 switch (static_cast<GVNFlag>(bit)) { |
| 484 #define DECLARE_FLAG(type) \ | 484 #define DECLARE_FLAG(type) \ |
| 485 case kDependsOn##type: \ | 485 case kDependsOn##type: \ |
| 486 offset += OS::SNPrintF(buffer + offset, separator); \ | 486 offset += OS::SNPrintF(buffer + offset, separator); \ |
| 487 offset += OS::SNPrintF(buffer + offset, #type); \ | 487 offset += OS::SNPrintF(buffer + offset, #type); \ |
| 488 separator = comma; \ | 488 separator = comma; \ |
| 489 break; | 489 break; |
| 490 GVN_TRACKED_FLAG_LIST(DECLARE_FLAG) | 490 GVN_TRACKED_FLAG_LIST(DECLARE_FLAG) |
| 491 GVN_UNTRACKED_FLAG_LIST(DECLARE_FLAG) | 491 GVN_UNTRACKED_FLAG_LIST(DECLARE_FLAG) |
| 492 #undef DECLARE_FLAG | 492 #undef DECLARE_FLAG |
| (...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 844 dominated); | 844 dominated); |
| 845 successor_map->Kill(side_effects_on_all_paths); | 845 successor_map->Kill(side_effects_on_all_paths); |
| 846 successor_dominators->Kill(side_effects_on_all_paths); | 846 successor_dominators->Kill(side_effects_on_all_paths); |
| 847 } | 847 } |
| 848 } | 848 } |
| 849 current = next; | 849 current = next; |
| 850 } | 850 } |
| 851 } | 851 } |
| 852 | 852 |
| 853 } } // namespace v8::internal | 853 } } // namespace v8::internal |
| OLD | NEW |