OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 <limits.h> | 5 #include <limits.h> |
6 #include <stdarg.h> | 6 #include <stdarg.h> |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 #include <cmath> | 8 #include <cmath> |
9 | 9 |
10 #if V8_TARGET_ARCH_MIPS64 | 10 #if V8_TARGET_ARCH_MIPS64 |
(...skipping 2178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2189 // pass it to the target function. | 2189 // pass it to the target function. |
2190 ObjectTriple result = target(arg1, arg2, arg3, arg4, arg5); | 2190 ObjectTriple result = target(arg1, arg2, arg3, arg4, arg5); |
2191 if (::v8::internal::FLAG_trace_sim) { | 2191 if (::v8::internal::FLAG_trace_sim) { |
2192 PrintF("Returned { %p, %p, %p }\n", result.x, result.y, result.z); | 2192 PrintF("Returned { %p, %p, %p }\n", result.x, result.y, result.z); |
2193 } | 2193 } |
2194 // Return is passed back in address pointed to by hidden first argument. | 2194 // Return is passed back in address pointed to by hidden first argument. |
2195 ObjectTriple* sim_result = reinterpret_cast<ObjectTriple*>(arg0); | 2195 ObjectTriple* sim_result = reinterpret_cast<ObjectTriple*>(arg0); |
2196 *sim_result = result; | 2196 *sim_result = result; |
2197 set_register(v0, arg0); | 2197 set_register(v0, arg0); |
2198 } else { | 2198 } else { |
| 2199 DCHECK(redirection->type() == ExternalReference::BUILTIN_CALL || |
| 2200 redirection->type() == ExternalReference::BUILTIN_CALL_PAIR); |
2199 SimulatorRuntimeCall target = | 2201 SimulatorRuntimeCall target = |
2200 reinterpret_cast<SimulatorRuntimeCall>(external); | 2202 reinterpret_cast<SimulatorRuntimeCall>(external); |
2201 if (::v8::internal::FLAG_trace_sim) { | 2203 if (::v8::internal::FLAG_trace_sim) { |
2202 PrintF( | 2204 PrintF( |
2203 "Call to host function at %p " | 2205 "Call to host function at %p " |
2204 "args %08lx, %08lx, %08lx, %08lx, %08lx, %08lx\n", | 2206 "args %08lx, %08lx, %08lx, %08lx, %08lx, %08lx\n", |
2205 FUNCTION_ADDR(target), | 2207 FUNCTION_ADDR(target), |
2206 arg0, | 2208 arg0, |
2207 arg1, | 2209 arg1, |
2208 arg2, | 2210 arg2, |
(...skipping 2680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4889 } | 4891 } |
4890 | 4892 |
4891 | 4893 |
4892 #undef UNSUPPORTED | 4894 #undef UNSUPPORTED |
4893 } // namespace internal | 4895 } // namespace internal |
4894 } // namespace v8 | 4896 } // namespace v8 |
4895 | 4897 |
4896 #endif // USE_SIMULATOR | 4898 #endif // USE_SIMULATOR |
4897 | 4899 |
4898 #endif // V8_TARGET_ARCH_MIPS64 | 4900 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |