| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 <cctype> | 5 #include <cctype> |
| 6 #include <cstdlib> | 6 #include <cstdlib> |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/v8.h" | 9 #include "src/v8.h" |
| 10 | 10 |
| 11 #include "src/assembler.h" | 11 #include "src/assembler.h" |
| 12 #include "src/base/functional.h" |
| 12 #include "src/base/platform/platform.h" | 13 #include "src/base/platform/platform.h" |
| 13 #include "src/ostreams.h" | 14 #include "src/ostreams.h" |
| 14 | 15 |
| 15 namespace v8 { | 16 namespace v8 { |
| 16 namespace internal { | 17 namespace internal { |
| 17 | 18 |
| 18 // Define all of our flags. | 19 // Define all of our flags. |
| 19 #define FLAG_MODE_DEFINE | 20 #define FLAG_MODE_DEFINE |
| 20 #include "src/flag-definitions.h" // NOLINT | 21 #include "src/flag-definitions.h" // NOLINT |
| 21 | 22 |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 } | 543 } |
| 543 | 544 |
| 544 | 545 |
| 545 // static | 546 // static |
| 546 void FlagList::EnforceFlagImplications() { | 547 void FlagList::EnforceFlagImplications() { |
| 547 #define FLAG_MODE_DEFINE_IMPLICATIONS | 548 #define FLAG_MODE_DEFINE_IMPLICATIONS |
| 548 #include "src/flag-definitions.h" | 549 #include "src/flag-definitions.h" |
| 549 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 550 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
| 550 } | 551 } |
| 551 | 552 |
| 553 |
| 554 uint32_t FlagList::Hash() { |
| 555 std::ostringstream modified_args_as_string; |
| 556 for (size_t i = 0; i < num_flags; ++i) { |
| 557 Flag* current = &flags[i]; |
| 558 if (!current->IsDefault()) { |
| 559 modified_args_as_string << *current; |
| 560 } |
| 561 } |
| 562 std::string args(modified_args_as_string.str()); |
| 563 return static_cast<uint32_t>( |
| 564 base::hash_range(args.c_str(), args.c_str() + args.length())); |
| 565 } |
| 552 } } // namespace v8::internal | 566 } } // namespace v8::internal |
| OLD | NEW |