OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 <limits.h> // For LONG_MIN, LONG_MAX. | 5 #include <limits.h> // For LONG_MIN, LONG_MAX. |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/base/division-by-constant.h" | 10 #include "src/base/division-by-constant.h" |
(...skipping 1219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1230 } | 1230 } |
1231 if (FLAG_enable_embedded_constant_pool) { | 1231 if (FLAG_enable_embedded_constant_pool) { |
1232 LoadConstantPoolPointerRegister(); | 1232 LoadConstantPoolPointerRegister(); |
1233 set_constant_pool_available(true); | 1233 set_constant_pool_available(true); |
1234 } | 1234 } |
1235 } | 1235 } |
1236 | 1236 |
1237 | 1237 |
1238 void MacroAssembler::EmitLoadTypeFeedbackVector(Register vector) { | 1238 void MacroAssembler::EmitLoadTypeFeedbackVector(Register vector) { |
1239 ldr(vector, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); | 1239 ldr(vector, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
1240 ldr(vector, FieldMemOperand(vector, JSFunction::kSharedFunctionInfoOffset)); | 1240 ldr(vector, FieldMemOperand(vector, JSFunction::kLiteralsOffset)); |
1241 ldr(vector, | 1241 ldr(vector, FieldMemOperand(vector, LiteralsArray::kFeedbackVectorOffset)); |
1242 FieldMemOperand(vector, SharedFunctionInfo::kFeedbackVectorOffset)); | |
1243 } | 1242 } |
1244 | 1243 |
1245 | 1244 |
1246 void MacroAssembler::EnterFrame(StackFrame::Type type, | 1245 void MacroAssembler::EnterFrame(StackFrame::Type type, |
1247 bool load_constant_pool_pointer_reg) { | 1246 bool load_constant_pool_pointer_reg) { |
1248 // r0-r3: preserved | 1247 // r0-r3: preserved |
1249 mov(ip, Operand(Smi::FromInt(type))); | 1248 mov(ip, Operand(Smi::FromInt(type))); |
1250 PushCommonFrame(ip); | 1249 PushCommonFrame(ip); |
1251 if (FLAG_enable_embedded_constant_pool && load_constant_pool_pointer_reg) { | 1250 if (FLAG_enable_embedded_constant_pool && load_constant_pool_pointer_reg) { |
1252 LoadConstantPoolPointerRegister(); | 1251 LoadConstantPoolPointerRegister(); |
(...skipping 2754 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4007 } | 4006 } |
4008 } | 4007 } |
4009 if (mag.shift > 0) mov(result, Operand(result, ASR, mag.shift)); | 4008 if (mag.shift > 0) mov(result, Operand(result, ASR, mag.shift)); |
4010 add(result, result, Operand(dividend, LSR, 31)); | 4009 add(result, result, Operand(dividend, LSR, 31)); |
4011 } | 4010 } |
4012 | 4011 |
4013 } // namespace internal | 4012 } // namespace internal |
4014 } // namespace v8 | 4013 } // namespace v8 |
4015 | 4014 |
4016 #endif // V8_TARGET_ARCH_ARM | 4015 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |