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

Unified Diff: src/ia32/lithium-codegen-ia32.cc

Issue 21049003: Smi-support for HSar. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: src/ia32/lithium-codegen-ia32.cc
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
index 4ce7fd6067d106d92209b07a5f17d272bd15b292..b1300bcfb0cb18f911c99230bc330043ce929058 100644
--- a/src/ia32/lithium-codegen-ia32.cc
+++ b/src/ia32/lithium-codegen-ia32.cc
@@ -1750,6 +1750,9 @@ void LCodeGen::DoShiftI(LShiftI* instr) {
case Token::SAR:
if (shift_count != 0) {
__ sar(ToRegister(left), shift_count);
+ if (instr->hydrogen_value()->representation().IsSmi()) {
+ __ and_(ToRegister(left), -2);
mvstanton 2013/07/29 11:30:34 Instead of -2 could you use ~kSmiTagMask?
+ }
}
break;
case Token::SHR:

Powered by Google App Engine
This is Rietveld 408576698