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

Side by Side Diff: src/mips/code-stubs-mips.cc

Issue 8479028: MIPS: Fixed a bug in StringHelper::GenerateTwoCharacterSymbolTableProbe. (Closed)
Patch Set: Rebased on r9917, fixed comments Created 9 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 5766 matching lines...) Expand 10 before | Expand all | Expand 10 after
5777 __ sll(scratch, candidate, kPointerSizeLog2); 5777 __ sll(scratch, candidate, kPointerSizeLog2);
5778 __ Addu(scratch, scratch, first_symbol_table_element); 5778 __ Addu(scratch, scratch, first_symbol_table_element);
5779 __ lw(candidate, MemOperand(scratch)); 5779 __ lw(candidate, MemOperand(scratch));
5780 5780
5781 // If entry is undefined no string with this hash can be found. 5781 // If entry is undefined no string with this hash can be found.
5782 Label is_string; 5782 Label is_string;
5783 __ GetObjectType(candidate, scratch, scratch); 5783 __ GetObjectType(candidate, scratch, scratch);
5784 __ Branch(&is_string, ne, scratch, Operand(ODDBALL_TYPE)); 5784 __ Branch(&is_string, ne, scratch, Operand(ODDBALL_TYPE));
5785 5785
5786 __ Branch(not_found, eq, undefined, Operand(candidate)); 5786 __ Branch(not_found, eq, undefined, Operand(candidate));
5787 // Must be null (deleted entry). 5787 // Must be the hole value (deleted entry).
5788 if (FLAG_debug_code) { 5788 if (FLAG_debug_code) {
5789 __ LoadRoot(scratch, Heap::kNullValueRootIndex); 5789 __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex);
5790 __ Assert(eq, "oddball in symbol table is not undefined or null", 5790 __ Assert(eq, "oddball in symbol table is not undefined or the hole value" ,
5791 scratch, Operand(candidate)); 5791 scratch, Operand(candidate));
5792 } 5792 }
5793 __ jmp(&next_probe[i]); 5793 __ jmp(&next_probe[i]);
5794 5794
5795 __ bind(&is_string); 5795 __ bind(&is_string);
5796 5796
5797 // Check that the candidate is a non-external ASCII string. The instance 5797 // Check that the candidate is a non-external ASCII string. The instance
5798 // type is still in the scratch register from the CompareObjectType 5798 // type is still in the scratch register from the CompareObjectType
5799 // operation. 5799 // operation.
5800 __ JumpIfInstanceTypeIsNotSequentialAscii(scratch, scratch, &next_probe[i]); 5800 __ JumpIfInstanceTypeIsNotSequentialAscii(scratch, scratch, &next_probe[i]);
(...skipping 1666 matching lines...) Expand 10 before | Expand all | Expand 10 after
7467 7467
7468 // Fall through when we need to inform the incremental marker. 7468 // Fall through when we need to inform the incremental marker.
7469 } 7469 }
7470 7470
7471 7471
7472 #undef __ 7472 #undef __
7473 7473
7474 } } // namespace v8::internal 7474 } } // namespace v8::internal
7475 7475
7476 #endif // V8_TARGET_ARCH_MIPS 7476 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698