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

Side by Side Diff: src/ic.cc

Issue 1629008: Re-submitting binary op ICs for ARM. Does not break debug tests (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 8 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 | « src/arm/codegen-arm.cc ('k') | 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 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 1415 matching lines...) Expand 10 before | Expand all | Expand 10 after
1426 // conceptually closer. 1426 // conceptually closer.
1427 case GENERIC: return MEGAMORPHIC; 1427 case GENERIC: return MEGAMORPHIC;
1428 1428
1429 default: return MONOMORPHIC; 1429 default: return MONOMORPHIC;
1430 } 1430 }
1431 } 1431 }
1432 1432
1433 1433
1434 BinaryOpIC::TypeInfo BinaryOpIC::GetTypeInfo(Object* left, 1434 BinaryOpIC::TypeInfo BinaryOpIC::GetTypeInfo(Object* left,
1435 Object* right) { 1435 Object* right) {
1436 // Patching is never requested for the two smis. 1436 if (left->IsSmi() && right->IsSmi()) {
1437 ASSERT(!left->IsSmi() || !right->IsSmi()); 1437 return GENERIC;
1438 }
1438 1439
1439 if (left->IsNumber() && right->IsNumber()) { 1440 if (left->IsNumber() && right->IsNumber()) {
1440 return HEAP_NUMBERS; 1441 return HEAP_NUMBERS;
1441 } 1442 }
1442 1443
1443 if (left->IsString() || right->IsString()) { 1444 if (left->IsString() || right->IsString()) {
1444 // Patching for fast string ADD makes sense even if only one of the 1445 // Patching for fast string ADD makes sense even if only one of the
1445 // arguments is a string. 1446 // arguments is a string.
1446 return STRINGS; 1447 return STRINGS;
1447 } 1448 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1494 #undef ADDR 1495 #undef ADDR
1495 }; 1496 };
1496 1497
1497 1498
1498 Address IC::AddressFromUtilityId(IC::UtilityId id) { 1499 Address IC::AddressFromUtilityId(IC::UtilityId id) {
1499 return IC_utilities[id]; 1500 return IC_utilities[id];
1500 } 1501 }
1501 1502
1502 1503
1503 } } // namespace v8::internal 1504 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/codegen-arm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698