OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 1749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1760 __ mov(eax, Factory::the_hole_value()); // Patched to either true or false. | 1760 __ mov(eax, Factory::the_hole_value()); // Patched to either true or false. |
1761 __ jmp(&done); | 1761 __ jmp(&done); |
1762 | 1762 |
1763 // The inlined call site cache did not match. Check null and string before | 1763 // The inlined call site cache did not match. Check null and string before |
1764 // calling the deferred code. | 1764 // calling the deferred code. |
1765 __ bind(&cache_miss); | 1765 __ bind(&cache_miss); |
1766 // Null is not instance of anything. | 1766 // Null is not instance of anything. |
1767 __ cmp(object, Factory::null_value()); | 1767 __ cmp(object, Factory::null_value()); |
1768 __ j(equal, &false_result); | 1768 __ j(equal, &false_result); |
1769 | 1769 |
1770 // String values is not instance of anything. | 1770 // String values are not instances of anything. |
1771 Condition is_string = masm_->IsObjectStringType(object, temp, temp); | 1771 Condition is_string = masm_->IsObjectStringType(object, temp, temp); |
1772 __ j(is_string, &false_result); | 1772 __ j(is_string, &false_result); |
1773 | 1773 |
1774 // Go to the deferred code. | 1774 // Go to the deferred code. |
1775 __ jmp(deferred->entry()); | 1775 __ jmp(deferred->entry()); |
1776 | 1776 |
1777 __ bind(&false_result); | 1777 __ bind(&false_result); |
1778 __ mov(ToRegister(instr->result()), Factory::false_value()); | 1778 __ mov(ToRegister(instr->result()), Factory::false_value()); |
1779 | 1779 |
1780 // Here result has either true or false. Deferred code also produces true or | 1780 // Here result has either true or false. Deferred code also produces true or |
(...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3403 ASSERT(!environment->HasBeenRegistered()); | 3403 ASSERT(!environment->HasBeenRegistered()); |
3404 RegisterEnvironmentForDeoptimization(environment); | 3404 RegisterEnvironmentForDeoptimization(environment); |
3405 ASSERT(osr_pc_offset_ == -1); | 3405 ASSERT(osr_pc_offset_ == -1); |
3406 osr_pc_offset_ = masm()->pc_offset(); | 3406 osr_pc_offset_ = masm()->pc_offset(); |
3407 } | 3407 } |
3408 | 3408 |
3409 | 3409 |
3410 #undef __ | 3410 #undef __ |
3411 | 3411 |
3412 } } // namespace v8::internal | 3412 } } // namespace v8::internal |
OLD | NEW |