| 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 #if V8_TARGET_ARCH_ARM | 9 #if V8_TARGET_ARCH_ARM |
| 10 | 10 |
| (...skipping 1915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1926 ObjectTriple result = target(arg1, arg2, arg3, arg4, arg5); | 1926 ObjectTriple result = target(arg1, arg2, arg3, arg4, arg5); |
| 1927 if (::v8::internal::FLAG_trace_sim) { | 1927 if (::v8::internal::FLAG_trace_sim) { |
| 1928 PrintF("Returned { %p, %p, %p }\n", result.x, result.y, result.z); | 1928 PrintF("Returned { %p, %p, %p }\n", result.x, result.y, result.z); |
| 1929 } | 1929 } |
| 1930 // Return is passed back in address pointed to by hidden first argument. | 1930 // Return is passed back in address pointed to by hidden first argument. |
| 1931 ObjectTriple* sim_result = reinterpret_cast<ObjectTriple*>(arg0); | 1931 ObjectTriple* sim_result = reinterpret_cast<ObjectTriple*>(arg0); |
| 1932 *sim_result = result; | 1932 *sim_result = result; |
| 1933 set_register(r0, arg0); | 1933 set_register(r0, arg0); |
| 1934 } else { | 1934 } else { |
| 1935 // builtin call. | 1935 // builtin call. |
| 1936 DCHECK(redirection->type() == ExternalReference::BUILTIN_CALL); | 1936 DCHECK(redirection->type() == ExternalReference::BUILTIN_CALL || |
| 1937 redirection->type() == ExternalReference::BUILTIN_CALL_PAIR); |
| 1937 SimulatorRuntimeCall target = | 1938 SimulatorRuntimeCall target = |
| 1938 reinterpret_cast<SimulatorRuntimeCall>(external); | 1939 reinterpret_cast<SimulatorRuntimeCall>(external); |
| 1939 if (::v8::internal::FLAG_trace_sim || !stack_aligned) { | 1940 if (::v8::internal::FLAG_trace_sim || !stack_aligned) { |
| 1940 PrintF( | 1941 PrintF( |
| 1941 "Call to host function at %p " | 1942 "Call to host function at %p " |
| 1942 "args %08x, %08x, %08x, %08x, %08x, %08x", | 1943 "args %08x, %08x, %08x, %08x, %08x, %08x", |
| 1943 FUNCTION_ADDR(target), | 1944 FUNCTION_ADDR(target), |
| 1944 arg0, | 1945 arg0, |
| 1945 arg1, | 1946 arg1, |
| 1946 arg2, | 1947 arg2, |
| (...skipping 2266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4213 set_register(sp, current_sp + sizeof(uintptr_t)); | 4214 set_register(sp, current_sp + sizeof(uintptr_t)); |
| 4214 return address; | 4215 return address; |
| 4215 } | 4216 } |
| 4216 | 4217 |
| 4217 } // namespace internal | 4218 } // namespace internal |
| 4218 } // namespace v8 | 4219 } // namespace v8 |
| 4219 | 4220 |
| 4220 #endif // USE_SIMULATOR | 4221 #endif // USE_SIMULATOR |
| 4221 | 4222 |
| 4222 #endif // V8_TARGET_ARCH_ARM | 4223 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |