X87: [compiler] Remove broken support for undetectable strings.
port b62dbf1efd
(r30132).
original commit messge:
Support for undetectable strings was officially dropped in
https://codereview.chromium.org/916753002, but the compilers
weren't fixed properly.
BUG=
Review URL: https://codereview.chromium.org/1287173002
Cr-Commit-Position: refs/heads/master@{#30156}
This commit is contained in:
parent
96e331e2f2
commit
8eeec89b9f
@ -4943,11 +4943,7 @@ void FullCodeGenerator::EmitLiteralCompareTypeof(Expression* expr,
|
||||
} else if (String::Equals(check, factory->string_string())) {
|
||||
__ JumpIfSmi(eax, if_false);
|
||||
__ CmpObjectType(eax, FIRST_NONSTRING_TYPE, edx);
|
||||
__ j(above_equal, if_false);
|
||||
// Check for undetectable objects => false.
|
||||
__ test_b(FieldOperand(edx, Map::kBitFieldOffset),
|
||||
1 << Map::kIsUndetectable);
|
||||
Split(zero, if_true, if_false, fall_through);
|
||||
Split(below, if_true, if_false, fall_through);
|
||||
} else if (String::Equals(check, factory->symbol_string())) {
|
||||
__ JumpIfSmi(eax, if_false);
|
||||
__ CmpObjectType(eax, SYMBOL_TYPE, edx);
|
||||
|
@ -6108,10 +6108,7 @@ Condition LCodeGen::EmitTypeofIs(LTypeofIsAndBranch* instr, Register input) {
|
||||
} else if (String::Equals(type_name, factory()->string_string())) {
|
||||
__ JumpIfSmi(input, false_label, false_distance);
|
||||
__ CmpObjectType(input, FIRST_NONSTRING_TYPE, input);
|
||||
__ j(above_equal, false_label, false_distance);
|
||||
__ test_b(FieldOperand(input, Map::kBitFieldOffset),
|
||||
1 << Map::kIsUndetectable);
|
||||
final_branch_condition = zero;
|
||||
final_branch_condition = below;
|
||||
|
||||
} else if (String::Equals(type_name, factory()->symbol_string())) {
|
||||
__ JumpIfSmi(input, false_label, false_distance);
|
||||
|
Loading…
Reference in New Issue
Block a user