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

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

Issue 100483006: [arm] Drop useless branches in full and lithium codegen. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 1239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1250 void TrySmiTag(Register reg, Label* not_a_smi) { 1250 void TrySmiTag(Register reg, Label* not_a_smi) {
1251 TrySmiTag(reg, reg, not_a_smi); 1251 TrySmiTag(reg, reg, not_a_smi);
1252 } 1252 }
1253 void TrySmiTag(Register reg, Register src, Label* not_a_smi) { 1253 void TrySmiTag(Register reg, Register src, Label* not_a_smi) {
1254 SmiTag(ip, src, SetCC); 1254 SmiTag(ip, src, SetCC);
1255 b(vs, not_a_smi); 1255 b(vs, not_a_smi);
1256 mov(reg, ip); 1256 mov(reg, ip);
1257 } 1257 }
1258 1258
1259 1259
1260 void SmiUntag(Register reg, SBit s = LeaveCC) { 1260 void SmiUntag(Register reg, SBit s = LeaveCC, Condition cond = al) {
1261 mov(reg, Operand::SmiUntag(reg), s); 1261 mov(reg, Operand::SmiUntag(reg), s, cond);
1262 } 1262 }
1263 void SmiUntag(Register dst, Register src, SBit s = LeaveCC) { 1263 void SmiUntag(Register dst, Register src, SBit s = LeaveCC) {
1264 mov(dst, Operand::SmiUntag(src), s); 1264 mov(dst, Operand::SmiUntag(src), s);
1265 } 1265 }
1266 1266
1267 // Untag the source value into destination and jump if source is a smi. 1267 // Untag the source value into destination and jump if source is a smi.
1268 // Souce and destination can be the same register. 1268 // Souce and destination can be the same register.
1269 void UntagAndJumpIfSmi(Register dst, Register src, Label* smi_case); 1269 void UntagAndJumpIfSmi(Register dst, Register src, Label* smi_case);
1270 1270
1271 // Untag the source value into destination and jump if source is not a smi. 1271 // Untag the source value into destination and jump if source is not a smi.
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1543 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1544 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1544 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1545 #else 1545 #else
1546 #define ACCESS_MASM(masm) masm-> 1546 #define ACCESS_MASM(masm) masm->
1547 #endif 1547 #endif
1548 1548
1549 1549
1550 } } // namespace v8::internal 1550 } } // namespace v8::internal
1551 1551
1552 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1552 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« src/arm/lithium-codegen-arm.cc ('K') | « src/arm/lithium-codegen-arm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698