| Index: runtime/vm/dart_entry.cc
|
| ===================================================================
|
| --- runtime/vm/dart_entry.cc (revision 17302)
|
| +++ runtime/vm/dart_entry.cc (working copy)
|
| @@ -247,7 +247,7 @@
|
| String& name = String::Handle();
|
| Smi& pos = Smi::Handle();
|
| for (intptr_t i = 0; i < num_named_args; i++) {
|
| - name ^= optional_arguments_names.At(i);
|
| + name |= optional_arguments_names.At(i);
|
| pos = Smi::New(num_pos_args + i);
|
| intptr_t insert_index = kFirstNamedEntryIndex + (kNamedEntrySize * i);
|
| // Shift already inserted pairs with "larger" names.
|
| @@ -255,11 +255,11 @@
|
| Smi& previous_pos = Smi::Handle();
|
| while (insert_index > kFirstNamedEntryIndex) {
|
| intptr_t previous_index = insert_index - kNamedEntrySize;
|
| - previous_name ^= descriptor.At(previous_index + kNameOffset);
|
| + previous_name |= descriptor.At(previous_index + kNameOffset);
|
| intptr_t result = name.CompareTo(previous_name);
|
| ASSERT(result != 0); // Duplicate argument names checked in parser.
|
| if (result > 0) break;
|
| - previous_pos ^= descriptor.At(previous_index + kPositionOffset);
|
| + previous_pos |= descriptor.At(previous_index + kPositionOffset);
|
| descriptor.SetAt(insert_index + kNameOffset, previous_name);
|
| descriptor.SetAt(insert_index + kPositionOffset, previous_pos);
|
| insert_index = previous_index;
|
|
|