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 |