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

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 3247008: Handle bitwise operations with literal Smi for 32bits integers without... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 3 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
OLDNEW
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 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 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 ObjectToDoubleFlags flags = NO_OBJECT_TO_DOUBLE_FLAGS); 497 ObjectToDoubleFlags flags = NO_OBJECT_TO_DOUBLE_FLAGS);
498 498
499 // Load the value of a smi object into a VFP double register. The register 499 // Load the value of a smi object into a VFP double register. The register
500 // scratch1 can be the same register as smi in which case smi will hold the 500 // scratch1 can be the same register as smi in which case smi will hold the
501 // untagged value afterwards. 501 // untagged value afterwards.
502 void SmiToDoubleVFPRegister(Register smi, 502 void SmiToDoubleVFPRegister(Register smi,
503 DwVfpRegister value, 503 DwVfpRegister value,
504 Register scratch1, 504 Register scratch1,
505 SwVfpRegister scratch2); 505 SwVfpRegister scratch2);
506 506
507 // Convert the HeapNumber pointed to by source to a 32bits signed integer
508 // dest. If the HeapNumber does not fit into a 32bits signed integer branch
509 // to not_int32 label.
510 void ConvertToInt32(Register source,
511 Register dest,
512 Register scratch,
513 Register scratch2,
514 Label *not_int32);
515
507 // Count leading zeros in a 32 bit word. On ARM5 and later it uses the clz 516 // Count leading zeros in a 32 bit word. On ARM5 and later it uses the clz
508 // instruction. On pre-ARM5 hardware this routine gives the wrong answer 517 // instruction. On pre-ARM5 hardware this routine gives the wrong answer
509 // for 0 (31 instead of 32). Source and scratch can be the same in which case 518 // for 0 (31 instead of 32). Source and scratch can be the same in which case
510 // the source is clobbered. Source and zeros can also be the same in which 519 // the source is clobbered. Source and zeros can also be the same in which
511 // case scratch should be a different register. 520 // case scratch should be a different register.
512 void CountLeadingZeros(Register zeros, 521 void CountLeadingZeros(Register zeros,
513 Register source, 522 Register source,
514 Register scratch); 523 Register scratch);
515 524
516 // --------------------------------------------------------------------------- 525 // ---------------------------------------------------------------------------
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 736 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
728 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 737 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
729 #else 738 #else
730 #define ACCESS_MASM(masm) masm-> 739 #define ACCESS_MASM(masm) masm->
731 #endif 740 #endif
732 741
733 742
734 } } // namespace v8::internal 743 } } // namespace v8::internal
735 744
736 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 745 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698