| 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 <stdarg.h> | 5 #include <stdarg.h> | 
| 6 #include <stdlib.h> | 6 #include <stdlib.h> | 
| 7 #include <cmath> | 7 #include <cmath> | 
| 8 | 8 | 
| 9 #include "src/v8.h" | 9 #include "src/v8.h" | 
| 10 | 10 | 
| (...skipping 3051 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3062         set_d_register_from_double(vd, fixed_value / divide); | 3062         set_d_register_from_double(vd, fixed_value / divide); | 
| 3063       } else if (((instr->Opc2Value() >> 1) == 0x6) && | 3063       } else if (((instr->Opc2Value() >> 1) == 0x6) && | 
| 3064                  (instr->Opc3Value() & 0x1)) { | 3064                  (instr->Opc3Value() & 0x1)) { | 
| 3065         DecodeVCVTBetweenFloatingPointAndInteger(instr); | 3065         DecodeVCVTBetweenFloatingPointAndInteger(instr); | 
| 3066       } else if (((instr->Opc2Value() == 0x4) || (instr->Opc2Value() == 0x5)) && | 3066       } else if (((instr->Opc2Value() == 0x4) || (instr->Opc2Value() == 0x5)) && | 
| 3067                  (instr->Opc3Value() & 0x1)) { | 3067                  (instr->Opc3Value() & 0x1)) { | 
| 3068         DecodeVCMP(instr); | 3068         DecodeVCMP(instr); | 
| 3069       } else if (((instr->Opc2Value() == 0x1)) && (instr->Opc3Value() == 0x3)) { | 3069       } else if (((instr->Opc2Value() == 0x1)) && (instr->Opc3Value() == 0x3)) { | 
| 3070         // vsqrt | 3070         // vsqrt | 
| 3071         double dm_value = get_double_from_d_register(vm); | 3071         double dm_value = get_double_from_d_register(vm); | 
| 3072         double dd_value = std::sqrt(dm_value); | 3072         double dd_value = fast_sqrt(dm_value); | 
| 3073         dd_value = canonicalizeNaN(dd_value); | 3073         dd_value = canonicalizeNaN(dd_value); | 
| 3074         set_d_register_from_double(vd, dd_value); | 3074         set_d_register_from_double(vd, dd_value); | 
| 3075       } else if (instr->Opc3Value() == 0x0) { | 3075       } else if (instr->Opc3Value() == 0x0) { | 
| 3076         // vmov immediate. | 3076         // vmov immediate. | 
| 3077         if (instr->SzValue() == 0x1) { | 3077         if (instr->SzValue() == 0x1) { | 
| 3078           set_d_register_from_double(vd, instr->DoubleImmedVmov()); | 3078           set_d_register_from_double(vd, instr->DoubleImmedVmov()); | 
| 3079         } else { | 3079         } else { | 
| 3080           UNREACHABLE();  // Not used by v8. | 3080           UNREACHABLE();  // Not used by v8. | 
| 3081         } | 3081         } | 
| 3082       } else if (((instr->Opc2Value() == 0x6)) && (instr->Opc3Value() == 0x3)) { | 3082       } else if (((instr->Opc2Value() == 0x6)) && (instr->Opc3Value() == 0x3)) { | 
| (...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4022   uintptr_t address = *stack_slot; | 4022   uintptr_t address = *stack_slot; | 
| 4023   set_register(sp, current_sp + sizeof(uintptr_t)); | 4023   set_register(sp, current_sp + sizeof(uintptr_t)); | 
| 4024   return address; | 4024   return address; | 
| 4025 } | 4025 } | 
| 4026 | 4026 | 
| 4027 } }  // namespace v8::internal | 4027 } }  // namespace v8::internal | 
| 4028 | 4028 | 
| 4029 #endif  // USE_SIMULATOR | 4029 #endif  // USE_SIMULATOR | 
| 4030 | 4030 | 
| 4031 #endif  // V8_TARGET_ARCH_ARM | 4031 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW | 
|---|