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

Side by Side Diff: src/arm/codegen-arm.h

Issue 661469: Port of changes from r3842 (symbol table probing for two character strings) t... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | src/arm/codegen-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 void GenerateCopyCharactersLong(MacroAssembler* masm, 557 void GenerateCopyCharactersLong(MacroAssembler* masm,
558 Register dest, 558 Register dest,
559 Register src, 559 Register src,
560 Register count, 560 Register count,
561 Register scratch1, 561 Register scratch1,
562 Register scratch2, 562 Register scratch2,
563 Register scratch3, 563 Register scratch3,
564 Register scratch4, 564 Register scratch4,
565 Register scratch5, 565 Register scratch5,
566 int flags); 566 int flags);
567
568
569 // Probe the symbol table for a two character string. If the string is
570 // not found by probing a jump to the label not_found is performed. This jump
571 // does not guarantee that the string is not in the symbol table. If the
572 // string is found the code falls through with the string in register r0.
573 // Contents of both c1 and c2 registers are modified. At the exit c1 is
574 // guaranteed to contain halfword with low and high bytes equal to
575 // initial contents of c1 and c2 respectively.
576 void GenerateTwoCharacterSymbolTableProbe(MacroAssembler* masm,
577 Register c1,
578 Register c2,
579 Register scratch1,
580 Register scratch2,
581 Register scratch3,
582 Register scratch4,
583 Register scratch5,
584 Label* not_found);
585
586 // Generate string hash.
587 void GenerateHashInit(MacroAssembler* masm,
588 Register hash,
589 Register character);
590
591 void GenerateHashAddCharacter(MacroAssembler* masm,
592 Register hash,
593 Register character);
594
595 void GenerateHashGetHash(MacroAssembler* masm,
596 Register hash);
567 }; 597 };
568 598
569 599
570 // Flag that indicates how to generate code for the stub StringAddStub. 600 // Flag that indicates how to generate code for the stub StringAddStub.
571 enum StringAddFlags { 601 enum StringAddFlags {
572 NO_STRING_ADD_FLAGS = 0, 602 NO_STRING_ADD_FLAGS = 0,
573 NO_STRING_CHECK_IN_STUB = 1 << 0 // Omit string check in stub. 603 NO_STRING_CHECK_IN_STUB = 1 << 0 // Omit string check in stub.
574 }; 604 };
575 605
576 606
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 Major MajorKey() { return StringCompare; } 652 Major MajorKey() { return StringCompare; }
623 int MinorKey() { return 0; } 653 int MinorKey() { return 0; }
624 654
625 void Generate(MacroAssembler* masm); 655 void Generate(MacroAssembler* masm);
626 }; 656 };
627 657
628 658
629 } } // namespace v8::internal 659 } } // namespace v8::internal
630 660
631 #endif // V8_ARM_CODEGEN_ARM_H_ 661 #endif // V8_ARM_CODEGEN_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698