| OLD | NEW | 
|---|
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 <stddef.h> | 5 #include <stddef.h> | 
| 6 #include <stdint.h> | 6 #include <stdint.h> | 
| 7 | 7 | 
| 8 #include "include/v8.h" | 8 #include "include/v8.h" | 
| 9 #include "src/isolate.h" | 9 #include "src/isolate.h" | 
| 10 #include "src/objects.h" | 10 #include "src/objects.h" | 
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 129     return 0; | 129     return 0; | 
| 130   } | 130   } | 
| 131 | 131 | 
| 132   v8::internal::wasm::testing::SetupIsolateForWasmModule(i_isolate); | 132   v8::internal::wasm::testing::SetupIsolateForWasmModule(i_isolate); | 
| 133 | 133 | 
| 134   v8::internal::HandleScope scope(i_isolate); | 134   v8::internal::HandleScope scope(i_isolate); | 
| 135 | 135 | 
| 136   ErrorThrower interpreter_thrower(i_isolate, "Interpreter"); | 136   ErrorThrower interpreter_thrower(i_isolate, "Interpreter"); | 
| 137   std::unique_ptr<const WasmModule> module(testing::DecodeWasmModuleForTesting( | 137   std::unique_ptr<const WasmModule> module(testing::DecodeWasmModuleForTesting( | 
| 138       i_isolate, &interpreter_thrower, buffer.begin(), buffer.end(), | 138       i_isolate, &interpreter_thrower, buffer.begin(), buffer.end(), | 
| 139       v8::internal::wasm::ModuleOrigin::kWasmOrigin)); | 139       v8::internal::wasm::ModuleOrigin::kWasmOrigin, true)); | 
| 140 | 140 | 
| 141   if (module == nullptr) { | 141   if (module == nullptr) { | 
| 142     return 0; | 142     return 0; | 
| 143   } | 143   } | 
| 144   int32_t result_interpreted; | 144   int32_t result_interpreted; | 
| 145   bool possible_nondeterminism = false; | 145   bool possible_nondeterminism = false; | 
| 146   { | 146   { | 
| 147     result_interpreted = testing::InterpretWasmModule( | 147     result_interpreted = testing::InterpretWasmModule( | 
| 148         i_isolate, &interpreter_thrower, module.get(), 0, interpreter_args, | 148         i_isolate, &interpreter_thrower, module.get(), 0, interpreter_args, | 
| 149         &possible_nondeterminism); | 149         &possible_nondeterminism); | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 174     // result_compiled. Therefore we do not check the equality of the results | 174     // result_compiled. Therefore we do not check the equality of the results | 
| 175     // if the execution may have produced a NaN at some point. | 175     // if the execution may have produced a NaN at some point. | 
| 176     if (!possible_nondeterminism && (result_interpreted != result_compiled)) { | 176     if (!possible_nondeterminism && (result_interpreted != result_compiled)) { | 
| 177       V8_Fatal(__FILE__, __LINE__, "WasmCodeFuzzerHash=%x", | 177       V8_Fatal(__FILE__, __LINE__, "WasmCodeFuzzerHash=%x", | 
| 178                v8::internal::StringHasher::HashSequentialString( | 178                v8::internal::StringHasher::HashSequentialString( | 
| 179                    data, static_cast<int>(size), WASM_CODE_FUZZER_HASH_SEED)); | 179                    data, static_cast<int>(size), WASM_CODE_FUZZER_HASH_SEED)); | 
| 180     } | 180     } | 
| 181   } | 181   } | 
| 182   return 0; | 182   return 0; | 
| 183 } | 183 } | 
| OLD | NEW | 
|---|