| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #if V8_TARGET_ARCH_S390 | 5 #if V8_TARGET_ARCH_S390 |
| 6 | 6 |
| 7 #include "src/full-codegen/full-codegen.h" | 7 #include "src/full-codegen/full-codegen.h" |
| 8 #include "src/ast/compile-time-value.h" | 8 #include "src/ast/compile-time-value.h" |
| 9 #include "src/ast/scopes.h" | 9 #include "src/ast/scopes.h" |
| 10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
| (...skipping 2692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2703 // Non-JS objects have class null. | 2703 // Non-JS objects have class null. |
| 2704 __ bind(&null); | 2704 __ bind(&null); |
| 2705 __ LoadRoot(r2, Heap::kNullValueRootIndex); | 2705 __ LoadRoot(r2, Heap::kNullValueRootIndex); |
| 2706 | 2706 |
| 2707 // All done. | 2707 // All done. |
| 2708 __ bind(&done); | 2708 __ bind(&done); |
| 2709 | 2709 |
| 2710 context()->Plug(r2); | 2710 context()->Plug(r2); |
| 2711 } | 2711 } |
| 2712 | 2712 |
| 2713 void FullCodeGenerator::EmitStringCharFromCode(CallRuntime* expr) { | |
| 2714 ZoneList<Expression*>* args = expr->arguments(); | |
| 2715 DCHECK(args->length() == 1); | |
| 2716 VisitForAccumulatorValue(args->at(0)); | |
| 2717 | |
| 2718 Label done; | |
| 2719 StringCharFromCodeGenerator generator(r2, r3); | |
| 2720 generator.GenerateFast(masm_); | |
| 2721 __ b(&done); | |
| 2722 | |
| 2723 NopRuntimeCallHelper call_helper; | |
| 2724 generator.GenerateSlow(masm_, call_helper); | |
| 2725 | |
| 2726 __ bind(&done); | |
| 2727 context()->Plug(r3); | |
| 2728 } | |
| 2729 | |
| 2730 void FullCodeGenerator::EmitStringCharCodeAt(CallRuntime* expr) { | 2713 void FullCodeGenerator::EmitStringCharCodeAt(CallRuntime* expr) { |
| 2731 ZoneList<Expression*>* args = expr->arguments(); | 2714 ZoneList<Expression*>* args = expr->arguments(); |
| 2732 DCHECK(args->length() == 2); | 2715 DCHECK(args->length() == 2); |
| 2733 VisitForStackValue(args->at(0)); | 2716 VisitForStackValue(args->at(0)); |
| 2734 VisitForAccumulatorValue(args->at(1)); | 2717 VisitForAccumulatorValue(args->at(1)); |
| 2735 | 2718 |
| 2736 Register object = r3; | 2719 Register object = r3; |
| 2737 Register index = r2; | 2720 Register index = r2; |
| 2738 Register result = r5; | 2721 Register result = r5; |
| 2739 | 2722 |
| (...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3591 DCHECK(kOSRBranchInstruction == br_instr); | 3574 DCHECK(kOSRBranchInstruction == br_instr); |
| 3592 | 3575 |
| 3593 DCHECK(interrupt_address == | 3576 DCHECK(interrupt_address == |
| 3594 isolate->builtins()->OnStackReplacement()->entry()); | 3577 isolate->builtins()->OnStackReplacement()->entry()); |
| 3595 return ON_STACK_REPLACEMENT; | 3578 return ON_STACK_REPLACEMENT; |
| 3596 } | 3579 } |
| 3597 | 3580 |
| 3598 } // namespace internal | 3581 } // namespace internal |
| 3599 } // namespace v8 | 3582 } // namespace v8 |
| 3600 #endif // V8_TARGET_ARCH_S390 | 3583 #endif // V8_TARGET_ARCH_S390 |
| OLD | NEW |