OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 2748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2759 // Used from ICCompareStub::GenerateMiss in code-stubs-<arch>.cc. | 2759 // Used from ICCompareStub::GenerateMiss in code-stubs-<arch>.cc. |
2760 RUNTIME_FUNCTION(Code*, CompareIC_Miss) { | 2760 RUNTIME_FUNCTION(Code*, CompareIC_Miss) { |
2761 NoHandleAllocation na(isolate); | 2761 NoHandleAllocation na(isolate); |
2762 ASSERT(args.length() == 3); | 2762 ASSERT(args.length() == 3); |
2763 CompareIC ic(isolate, static_cast<Token::Value>(args.smi_at(2))); | 2763 CompareIC ic(isolate, static_cast<Token::Value>(args.smi_at(2))); |
2764 ic.UpdateCaches(args.at<Object>(0), args.at<Object>(1)); | 2764 ic.UpdateCaches(args.at<Object>(0), args.at<Object>(1)); |
2765 return ic.target(); | 2765 return ic.target(); |
2766 } | 2766 } |
2767 | 2767 |
2768 | 2768 |
| 2769 RUNTIME_FUNCTION(MaybeObject*, Unreachable) { |
| 2770 UNREACHABLE(); |
| 2771 CHECK(false); |
| 2772 return isolate->heap()->undefined_value(); |
| 2773 } |
| 2774 |
| 2775 |
2769 RUNTIME_FUNCTION(MaybeObject*, ToBoolean_Patch) { | 2776 RUNTIME_FUNCTION(MaybeObject*, ToBoolean_Patch) { |
2770 ASSERT(args.length() == 3); | 2777 ASSERT(args.length() == 3); |
2771 | 2778 |
2772 HandleScope scope(isolate); | 2779 HandleScope scope(isolate); |
2773 Handle<Object> object = args.at<Object>(0); | 2780 Handle<Object> object = args.at<Object>(0); |
2774 Register tos = Register::from_code(args.smi_at(1)); | 2781 Register tos = Register::from_code(args.smi_at(1)); |
2775 ToBooleanStub::Types old_types(args.smi_at(2)); | 2782 ToBooleanStub::Types old_types(args.smi_at(2)); |
2776 | 2783 |
2777 ToBooleanStub::Types new_types(old_types); | 2784 ToBooleanStub::Types new_types(old_types); |
2778 bool to_boolean_value = new_types.Record(object); | 2785 bool to_boolean_value = new_types.Record(object); |
(...skipping 19 matching lines...) Expand all Loading... |
2798 #undef ADDR | 2805 #undef ADDR |
2799 }; | 2806 }; |
2800 | 2807 |
2801 | 2808 |
2802 Address IC::AddressFromUtilityId(IC::UtilityId id) { | 2809 Address IC::AddressFromUtilityId(IC::UtilityId id) { |
2803 return IC_utilities[id]; | 2810 return IC_utilities[id]; |
2804 } | 2811 } |
2805 | 2812 |
2806 | 2813 |
2807 } } // namespace v8::internal | 2814 } } // namespace v8::internal |
OLD | NEW |