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 "src/v8.h" | 5 #include "src/v8.h" |
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/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 4649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4660 | 4660 |
4661 // TODO(mvstanton): Implement. | 4661 // TODO(mvstanton): Implement. |
4662 __ bind(&miss); | 4662 __ bind(&miss); |
4663 KeyedStoreIC::GenerateMiss(masm); | 4663 KeyedStoreIC::GenerateMiss(masm); |
4664 } | 4664 } |
4665 | 4665 |
4666 | 4666 |
4667 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) { | 4667 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) { |
4668 if (masm->isolate()->function_entry_hook() != NULL) { | 4668 if (masm->isolate()->function_entry_hook() != NULL) { |
4669 ProfileEntryHookStub stub(masm->isolate()); | 4669 ProfileEntryHookStub stub(masm->isolate()); |
4670 int code_size = masm->CallStubSize(&stub) + 2 * Assembler::kInstrSize; | 4670 PredictableCodeSizeScope predictable(masm); |
4671 PredictableCodeSizeScope predictable(masm, code_size); | 4671 predictable.ExpectSize(masm->CallStubSize(&stub) + |
| 4672 2 * Assembler::kInstrSize); |
4672 __ push(lr); | 4673 __ push(lr); |
4673 __ CallStub(&stub); | 4674 __ CallStub(&stub); |
4674 __ pop(lr); | 4675 __ pop(lr); |
4675 } | 4676 } |
4676 } | 4677 } |
4677 | 4678 |
4678 | 4679 |
4679 void ProfileEntryHookStub::Generate(MacroAssembler* masm) { | 4680 void ProfileEntryHookStub::Generate(MacroAssembler* masm) { |
4680 // The entry hook is a "push lr" instruction, followed by a call. | 4681 // The entry hook is a "push lr" instruction, followed by a call. |
4681 const int32_t kReturnAddressDistanceFromFunctionStart = | 4682 const int32_t kReturnAddressDistanceFromFunctionStart = |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5366 MemOperand(fp, 6 * kPointerSize), NULL); | 5367 MemOperand(fp, 6 * kPointerSize), NULL); |
5367 } | 5368 } |
5368 | 5369 |
5369 | 5370 |
5370 #undef __ | 5371 #undef __ |
5371 | 5372 |
5372 } // namespace internal | 5373 } // namespace internal |
5373 } // namespace v8 | 5374 } // namespace v8 |
5374 | 5375 |
5375 #endif // V8_TARGET_ARCH_ARM | 5376 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |