mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 10:49:00 +00:00
Fix non-optimized instanceof check after removal of signature classes.
Review URL: https://codereview.chromium.org/1602423002 .
This commit is contained in:
parent
738b835b0b
commit
3bf3f483a5
5 changed files with 5 additions and 5 deletions
|
@ -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?
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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?
|
||||
|
|
Loading…
Reference in a new issue