Fix non-optimized instanceof check after removal of signature classes.

Review URL: https://codereview.chromium.org/1602423002 .
This commit is contained in:
Regis Crelier 2016-01-19 21:13:39 -08:00
parent 738b835b0b
commit 3bf3f483a5
5 changed files with 5 additions and 5 deletions

View file

@ -507,7 +507,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest(
__ Bind(&fall_through);
return type_test_cache.raw();
}
if (type.IsType()) {
if (type.IsType() || type.IsFunctionType()) {
const Register kInstanceReg = R0;
const Register kTypeArgumentsReg = R1;
__ tst(kInstanceReg, Operand(kSmiTagMask)); // Is instance Smi?

View file

@ -499,7 +499,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest(
__ Bind(&fall_through);
return type_test_cache.raw();
}
if (type.IsType()) {
if (type.IsType() || type.IsFunctionType()) {
const Register kInstanceReg = R0;
const Register kTypeArgumentsReg = R1;
__ tsti(kInstanceReg, Immediate(kSmiTagMask)); // Is instance Smi?

View file

@ -513,7 +513,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest(
__ Bind(&fall_through);
return type_test_cache.raw();
}
if (type.IsType()) {
if (type.IsType() || type.IsFunctionType()) {
const Register kInstanceReg = EAX;
const Register kTypeArgumentsReg = EDX;
__ testl(kInstanceReg, Immediate(kSmiTagMask)); // Is instance Smi?

View file

@ -495,7 +495,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest(
__ Bind(&fall_through);
return type_test_cache.raw();
}
if (type.IsType()) {
if (type.IsType() || type.IsFunctionType()) {
const Register kInstanceReg = A0;
const Register kTypeArgumentsReg = A1;
__ andi(CMPRES1, kInstanceReg, Immediate(kSmiTagMask));

View file

@ -509,7 +509,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest(
__ Bind(&fall_through);
return type_test_cache.raw();
}
if (type.IsType()) {
if (type.IsType() || type.IsFunctionType()) {
const Register kInstanceReg = RAX;
const Register kTypeArgumentsReg = RDX;
__ testq(kInstanceReg, Immediate(kSmiTagMask)); // Is instance Smi?