OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 2691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2702 __ bind(&done); | 2702 __ bind(&done); |
2703 context()->Plug(rax); | 2703 context()->Plug(rax); |
2704 } | 2704 } |
2705 | 2705 |
2706 | 2706 |
2707 void FullCodeGenerator::EmitMathPow(ZoneList<Expression*>* args) { | 2707 void FullCodeGenerator::EmitMathPow(ZoneList<Expression*>* args) { |
2708 // Load the arguments on the stack and call the runtime function. | 2708 // Load the arguments on the stack and call the runtime function. |
2709 ASSERT(args->length() == 2); | 2709 ASSERT(args->length() == 2); |
2710 VisitForStackValue(args->at(0)); | 2710 VisitForStackValue(args->at(0)); |
2711 VisitForStackValue(args->at(1)); | 2711 VisitForStackValue(args->at(1)); |
2712 __ CallRuntime(Runtime::kMath_pow, 2); | 2712 MathPowStub stub; |
| 2713 __ CallStub(&stub); |
2713 context()->Plug(rax); | 2714 context()->Plug(rax); |
2714 } | 2715 } |
2715 | 2716 |
2716 | 2717 |
2717 void FullCodeGenerator::EmitSetValueOf(ZoneList<Expression*>* args) { | 2718 void FullCodeGenerator::EmitSetValueOf(ZoneList<Expression*>* args) { |
2718 ASSERT(args->length() == 2); | 2719 ASSERT(args->length() == 2); |
2719 | 2720 |
2720 VisitForStackValue(args->at(0)); // Load the object. | 2721 VisitForStackValue(args->at(0)); // Load the object. |
2721 VisitForAccumulatorValue(args->at(1)); // Load the value. | 2722 VisitForAccumulatorValue(args->at(1)); // Load the value. |
2722 __ pop(rbx); // rax = value. rbx = object. | 2723 __ pop(rbx); // rax = value. rbx = object. |
(...skipping 1155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3878 __ ret(0); | 3879 __ ret(0); |
3879 } | 3880 } |
3880 | 3881 |
3881 | 3882 |
3882 #undef __ | 3883 #undef __ |
3883 | 3884 |
3884 | 3885 |
3885 } } // namespace v8::internal | 3886 } } // namespace v8::internal |
3886 | 3887 |
3887 #endif // V8_TARGET_ARCH_X64 | 3888 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |