OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/arm64/lithium-codegen-arm64.h" | 7 #include "src/arm64/lithium-codegen-arm64.h" |
8 #include "src/arm64/lithium-gap-resolver-arm64.h" | 8 #include "src/arm64/lithium-gap-resolver-arm64.h" |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 5968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5979 LLoadFieldByIndex* instr, | 5979 LLoadFieldByIndex* instr, |
5980 Register result, | 5980 Register result, |
5981 Register object, | 5981 Register object, |
5982 Register index) | 5982 Register index) |
5983 : LDeferredCode(codegen), | 5983 : LDeferredCode(codegen), |
5984 instr_(instr), | 5984 instr_(instr), |
5985 result_(result), | 5985 result_(result), |
5986 object_(object), | 5986 object_(object), |
5987 index_(index) { | 5987 index_(index) { |
5988 } | 5988 } |
5989 virtual void Generate() OVERRIDE { | 5989 void Generate() OVERRIDE { |
5990 codegen()->DoDeferredLoadMutableDouble(instr_, result_, object_, index_); | 5990 codegen()->DoDeferredLoadMutableDouble(instr_, result_, object_, index_); |
5991 } | 5991 } |
5992 virtual LInstruction* instr() OVERRIDE { return instr_; } | 5992 LInstruction* instr() OVERRIDE { return instr_; } |
| 5993 |
5993 private: | 5994 private: |
5994 LLoadFieldByIndex* instr_; | 5995 LLoadFieldByIndex* instr_; |
5995 Register result_; | 5996 Register result_; |
5996 Register object_; | 5997 Register object_; |
5997 Register index_; | 5998 Register index_; |
5998 }; | 5999 }; |
5999 Register object = ToRegister(instr->object()); | 6000 Register object = ToRegister(instr->object()); |
6000 Register index = ToRegister(instr->index()); | 6001 Register index = ToRegister(instr->index()); |
6001 Register result = ToRegister(instr->result()); | 6002 Register result = ToRegister(instr->result()); |
6002 | 6003 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6042 Handle<ScopeInfo> scope_info = instr->scope_info(); | 6043 Handle<ScopeInfo> scope_info = instr->scope_info(); |
6043 __ Push(scope_info); | 6044 __ Push(scope_info); |
6044 __ Push(ToRegister(instr->function())); | 6045 __ Push(ToRegister(instr->function())); |
6045 CallRuntime(Runtime::kPushBlockContext, 2, instr); | 6046 CallRuntime(Runtime::kPushBlockContext, 2, instr); |
6046 RecordSafepoint(Safepoint::kNoLazyDeopt); | 6047 RecordSafepoint(Safepoint::kNoLazyDeopt); |
6047 } | 6048 } |
6048 | 6049 |
6049 | 6050 |
6050 | 6051 |
6051 } } // namespace v8::internal | 6052 } } // namespace v8::internal |
OLD | NEW |