Commit addb8f96 authored by verwaest@chromium.org's avatar verwaest@chromium.org

Don't CheckSmi when type is Smi.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14890007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent dabcf046
...@@ -1129,8 +1129,10 @@ HInstruction* HGraphBuilder::BuildFastElementAccess( ...@@ -1129,8 +1129,10 @@ HInstruction* HGraphBuilder::BuildFastElementAccess(
switch (elements_kind) { switch (elements_kind) {
case FAST_SMI_ELEMENTS: case FAST_SMI_ELEMENTS:
case FAST_HOLEY_SMI_ELEMENTS: case FAST_HOLEY_SMI_ELEMENTS:
// Smi-only arrays need a smi check. if (!val->type().IsSmi()) {
AddInstruction(new(zone) HCheckSmi(val)); // Smi-only arrays need a smi check.
AddInstruction(new(zone) HCheckSmi(val));
}
// Fall through. // Fall through.
case FAST_ELEMENTS: case FAST_ELEMENTS:
case FAST_HOLEY_ELEMENTS: case FAST_HOLEY_ELEMENTS:
...@@ -6934,9 +6936,11 @@ void HOptimizedGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) { ...@@ -6934,9 +6936,11 @@ void HOptimizedGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) {
switch (boilerplate_elements_kind) { switch (boilerplate_elements_kind) {
case FAST_SMI_ELEMENTS: case FAST_SMI_ELEMENTS:
case FAST_HOLEY_SMI_ELEMENTS: case FAST_HOLEY_SMI_ELEMENTS:
// Smi-only arrays need a smi check. if (!value->type().IsSmi()) {
AddInstruction(new(zone()) HCheckSmi(value)); // Smi-only arrays need a smi check.
// Fall through. AddInstruction(new(zone()) HCheckSmi(value));
// Fall through.
}
case FAST_ELEMENTS: case FAST_ELEMENTS:
case FAST_HOLEY_ELEMENTS: case FAST_HOLEY_ELEMENTS:
case FAST_DOUBLE_ELEMENTS: case FAST_DOUBLE_ELEMENTS:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment