Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: runtime/vm/simulator_arm.cc

Issue 2757783003: Set TARGET_OS_* from GN, falling back to HOST_OS_*. (Closed)
Patch Set: . Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/dwarf.cc ('k') | runtime/vm/snapshot.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include <setjmp.h> // NOLINT 5 #include <setjmp.h> // NOLINT
6 #include <stdlib.h> 6 #include <stdlib.h>
7 7
8 #include "vm/globals.h" 8 #include "vm/globals.h"
9 #if defined(TARGET_ARCH_ARM) 9 #if defined(TARGET_ARCH_ARM)
10 10
(...skipping 3758 matching lines...) Expand 10 before | Expand all | Expand 10 after
3769 set_register(LR, kEndSimulatingPC); 3769 set_register(LR, kEndSimulatingPC);
3770 3770
3771 // Remember the values of callee-saved registers. 3771 // Remember the values of callee-saved registers.
3772 // The code below assumes that r9 is not used as sb (static base) in 3772 // The code below assumes that r9 is not used as sb (static base) in
3773 // simulator code and therefore is regarded as a callee-saved register. 3773 // simulator code and therefore is regarded as a callee-saved register.
3774 int32_t r4_val = get_register(R4); 3774 int32_t r4_val = get_register(R4);
3775 int32_t r5_val = get_register(R5); 3775 int32_t r5_val = get_register(R5);
3776 int32_t r6_val = get_register(R6); 3776 int32_t r6_val = get_register(R6);
3777 int32_t r7_val = get_register(R7); 3777 int32_t r7_val = get_register(R7);
3778 int32_t r8_val = get_register(R8); 3778 int32_t r8_val = get_register(R8);
3779 #if defined(TARGET_ABI_EABI) 3779 #if !defined(TARGET_OS_MACOS) && !defined(TARGET_OS_MACOS_IOS)
3780 int32_t r9_val = get_register(R9); 3780 int32_t r9_val = get_register(R9);
3781 #endif 3781 #endif
3782 int32_t r10_val = get_register(R10); 3782 int32_t r10_val = get_register(R10);
3783 int32_t r11_val = get_register(R11); 3783 int32_t r11_val = get_register(R11);
3784 3784
3785 double d8_val = 0.0; 3785 double d8_val = 0.0;
3786 double d9_val = 0.0; 3786 double d9_val = 0.0;
3787 double d10_val = 0.0; 3787 double d10_val = 0.0;
3788 double d11_val = 0.0; 3788 double d11_val = 0.0;
3789 double d12_val = 0.0; 3789 double d12_val = 0.0;
(...skipping 13 matching lines...) Expand all
3803 } 3803 }
3804 3804
3805 // Setup the callee-saved registers with a known value. To be able to check 3805 // Setup the callee-saved registers with a known value. To be able to check
3806 // that they are preserved properly across dart execution. 3806 // that they are preserved properly across dart execution.
3807 int32_t callee_saved_value = icount_; 3807 int32_t callee_saved_value = icount_;
3808 set_register(R4, callee_saved_value); 3808 set_register(R4, callee_saved_value);
3809 set_register(R5, callee_saved_value); 3809 set_register(R5, callee_saved_value);
3810 set_register(R6, callee_saved_value); 3810 set_register(R6, callee_saved_value);
3811 set_register(R7, callee_saved_value); 3811 set_register(R7, callee_saved_value);
3812 set_register(R8, callee_saved_value); 3812 set_register(R8, callee_saved_value);
3813 #if defined(TARGET_ABI_EABI) 3813 #if !defined(TARGET_OS_MACOS) && !defined(TARGET_OS_MACOS_IOS)
3814 set_register(R9, callee_saved_value); 3814 set_register(R9, callee_saved_value);
3815 #endif 3815 #endif
3816 set_register(R10, callee_saved_value); 3816 set_register(R10, callee_saved_value);
3817 set_register(R11, callee_saved_value); 3817 set_register(R11, callee_saved_value);
3818 3818
3819 double callee_saved_dvalue = 0.0; 3819 double callee_saved_dvalue = 0.0;
3820 if (TargetCPUFeatures::vfp_supported()) { 3820 if (TargetCPUFeatures::vfp_supported()) {
3821 callee_saved_dvalue = static_cast<double>(icount_); 3821 callee_saved_dvalue = static_cast<double>(icount_);
3822 set_dregister(D8, callee_saved_dvalue); 3822 set_dregister(D8, callee_saved_dvalue);
3823 set_dregister(D9, callee_saved_dvalue); 3823 set_dregister(D9, callee_saved_dvalue);
3824 set_dregister(D10, callee_saved_dvalue); 3824 set_dregister(D10, callee_saved_dvalue);
3825 set_dregister(D11, callee_saved_dvalue); 3825 set_dregister(D11, callee_saved_dvalue);
3826 set_dregister(D12, callee_saved_dvalue); 3826 set_dregister(D12, callee_saved_dvalue);
3827 set_dregister(D13, callee_saved_dvalue); 3827 set_dregister(D13, callee_saved_dvalue);
3828 set_dregister(D14, callee_saved_dvalue); 3828 set_dregister(D14, callee_saved_dvalue);
3829 set_dregister(D15, callee_saved_dvalue); 3829 set_dregister(D15, callee_saved_dvalue);
3830 } 3830 }
3831 3831
3832 // Start the simulation 3832 // Start the simulation
3833 Execute(); 3833 Execute();
3834 3834
3835 // Check that the callee-saved registers have been preserved. 3835 // Check that the callee-saved registers have been preserved.
3836 ASSERT(callee_saved_value == get_register(R4)); 3836 ASSERT(callee_saved_value == get_register(R4));
3837 ASSERT(callee_saved_value == get_register(R5)); 3837 ASSERT(callee_saved_value == get_register(R5));
3838 ASSERT(callee_saved_value == get_register(R6)); 3838 ASSERT(callee_saved_value == get_register(R6));
3839 ASSERT(callee_saved_value == get_register(R7)); 3839 ASSERT(callee_saved_value == get_register(R7));
3840 ASSERT(callee_saved_value == get_register(R8)); 3840 ASSERT(callee_saved_value == get_register(R8));
3841 #if defined(TARGET_ABI_EABI) 3841 #if !defined(TARGET_OS_MACOS) && !defined(TARGET_OS_MACOS_IOS)
3842 ASSERT(callee_saved_value == get_register(R9)); 3842 ASSERT(callee_saved_value == get_register(R9));
3843 #endif 3843 #endif
3844 ASSERT(callee_saved_value == get_register(R10)); 3844 ASSERT(callee_saved_value == get_register(R10));
3845 ASSERT(callee_saved_value == get_register(R11)); 3845 ASSERT(callee_saved_value == get_register(R11));
3846 3846
3847 if (TargetCPUFeatures::vfp_supported()) { 3847 if (TargetCPUFeatures::vfp_supported()) {
3848 ASSERT(callee_saved_dvalue == get_dregister(D8)); 3848 ASSERT(callee_saved_dvalue == get_dregister(D8));
3849 ASSERT(callee_saved_dvalue == get_dregister(D9)); 3849 ASSERT(callee_saved_dvalue == get_dregister(D9));
3850 ASSERT(callee_saved_dvalue == get_dregister(D10)); 3850 ASSERT(callee_saved_dvalue == get_dregister(D10));
3851 ASSERT(callee_saved_dvalue == get_dregister(D11)); 3851 ASSERT(callee_saved_dvalue == get_dregister(D11));
3852 ASSERT(callee_saved_dvalue == get_dregister(D12)); 3852 ASSERT(callee_saved_dvalue == get_dregister(D12));
3853 ASSERT(callee_saved_dvalue == get_dregister(D13)); 3853 ASSERT(callee_saved_dvalue == get_dregister(D13));
3854 ASSERT(callee_saved_dvalue == get_dregister(D14)); 3854 ASSERT(callee_saved_dvalue == get_dregister(D14));
3855 ASSERT(callee_saved_dvalue == get_dregister(D15)); 3855 ASSERT(callee_saved_dvalue == get_dregister(D15));
3856 } 3856 }
3857 3857
3858 // Restore callee-saved registers with the original value. 3858 // Restore callee-saved registers with the original value.
3859 set_register(R4, r4_val); 3859 set_register(R4, r4_val);
3860 set_register(R5, r5_val); 3860 set_register(R5, r5_val);
3861 set_register(R6, r6_val); 3861 set_register(R6, r6_val);
3862 set_register(R7, r7_val); 3862 set_register(R7, r7_val);
3863 set_register(R8, r8_val); 3863 set_register(R8, r8_val);
3864 #if defined(TARGET_ABI_EABI) 3864 #if !defined(TARGET_OS_MACOS) && !defined(TARGET_OS_MACOS_IOS)
3865 set_register(R9, r9_val); 3865 set_register(R9, r9_val);
3866 #endif 3866 #endif
3867 set_register(R10, r10_val); 3867 set_register(R10, r10_val);
3868 set_register(R11, r11_val); 3868 set_register(R11, r11_val);
3869 3869
3870 if (TargetCPUFeatures::vfp_supported()) { 3870 if (TargetCPUFeatures::vfp_supported()) {
3871 set_dregister(D8, d8_val); 3871 set_dregister(D8, d8_val);
3872 set_dregister(D9, d9_val); 3872 set_dregister(D9, d9_val);
3873 set_dregister(D10, d10_val); 3873 set_dregister(D10, d10_val);
3874 set_dregister(D11, d11_val); 3874 set_dregister(D11, d11_val);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
3922 set_register(CODE_REG, code); 3922 set_register(CODE_REG, code);
3923 set_register(PP, pp); 3923 set_register(PP, pp);
3924 buf->Longjmp(); 3924 buf->Longjmp();
3925 } 3925 }
3926 3926
3927 } // namespace dart 3927 } // namespace dart
3928 3928
3929 #endif // defined(USING_SIMULATOR) 3929 #endif // defined(USING_SIMULATOR)
3930 3930
3931 #endif // defined TARGET_ARCH_ARM 3931 #endif // defined TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « runtime/vm/dwarf.cc ('k') | runtime/vm/snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698