Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: src/wasm/wasm-js.cc

Issue 2135973002: Adding V8_WARN_UNUSED_RESULT for specified TODOs (Closed) Base URL: git@github.com:danbev/v8.git@master
Patch Set: Using CHECK for Maybe<bool> results Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/v8.h ('k') | src/wasm/wasm-module.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 "src/api-natives.h" 5 #include "src/api-natives.h"
6 #include "src/api.h" 6 #include "src/api.h"
7 #include "src/asmjs/asm-js.h" 7 #include "src/asmjs/asm-js.h"
8 #include "src/asmjs/asm-typer.h" 8 #include "src/asmjs/asm-typer.h"
9 #include "src/asmjs/asm-wasm-builder.h" 9 #include "src/asmjs/asm-wasm-builder.h"
10 #include "src/assert-scope.h" 10 #include "src/assert-scope.h"
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 ErrorThrower thrower(i_isolate, "WebAssembly.compile()"); 182 ErrorThrower thrower(i_isolate, "WebAssembly.compile()");
183 183
184 Local<Context> context = isolate->GetCurrentContext(); 184 Local<Context> context = isolate->GetCurrentContext();
185 v8::Local<v8::Promise::Resolver> resolver; 185 v8::Local<v8::Promise::Resolver> resolver;
186 if (!v8::Promise::Resolver::New(context).ToLocal(&resolver)) return; 186 if (!v8::Promise::Resolver::New(context).ToLocal(&resolver)) return;
187 v8::ReturnValue<v8::Value> return_value = args.GetReturnValue(); 187 v8::ReturnValue<v8::Value> return_value = args.GetReturnValue();
188 return_value.Set(resolver->GetPromise()); 188 return_value.Set(resolver->GetPromise());
189 189
190 auto bytes = GetFirstArgumentAsBytes(args, &thrower); 190 auto bytes = GetFirstArgumentAsBytes(args, &thrower);
191 if (!IsCompilationAllowed(i_isolate, &thrower, args[0], true)) { 191 if (!IsCompilationAllowed(i_isolate, &thrower, args[0], true)) {
192 resolver->Reject(context, Utils::ToLocal(thrower.Reify())); 192 auto maybe = resolver->Reject(context, Utils::ToLocal(thrower.Reify()));
193 CHECK(!maybe.IsNothing());
193 return; 194 return;
194 } 195 }
195 DCHECK(!thrower.error()); 196 DCHECK(!thrower.error());
196 i::Handle<i::JSPromise> promise = Utils::OpenHandle(*resolver->GetPromise()); 197 i::Handle<i::JSPromise> promise = Utils::OpenHandle(*resolver->GetPromise());
197 i::wasm::AsyncCompile(i_isolate, promise, bytes); 198 i::wasm::AsyncCompile(i_isolate, promise, bytes);
198 } 199 }
199 200
200 // WebAssembly.validate(bytes) -> bool 201 // WebAssembly.validate(bytes) -> bool
201 void WebAssemblyValidate(const v8::FunctionCallbackInfo<v8::Value>& args) { 202 void WebAssemblyValidate(const v8::FunctionCallbackInfo<v8::Value>& args) {
202 v8::Isolate* isolate = args.GetIsolate(); 203 v8::Isolate* isolate = args.GetIsolate();
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 331
331 v8::Local<v8::Promise::Resolver> resolver; 332 v8::Local<v8::Promise::Resolver> resolver;
332 if (!v8::Promise::Resolver::New(context).ToLocal(&resolver)) return; 333 if (!v8::Promise::Resolver::New(context).ToLocal(&resolver)) return;
333 v8::ReturnValue<v8::Value> return_value = args.GetReturnValue(); 334 v8::ReturnValue<v8::Value> return_value = args.GetReturnValue();
334 return_value.Set(resolver->GetPromise()); 335 return_value.Set(resolver->GetPromise());
335 336
336 if (args.Length() < 1) { 337 if (args.Length() < 1) {
337 thrower.TypeError( 338 thrower.TypeError(
338 "Argument 0 must be provided and must be either a buffer source or a " 339 "Argument 0 must be provided and must be either a buffer source or a "
339 "WebAssembly.Module object"); 340 "WebAssembly.Module object");
340 resolver->Reject(context, Utils::ToLocal(thrower.Reify())); 341 auto maybe = resolver->Reject(context, Utils::ToLocal(thrower.Reify()));
342 CHECK(!maybe.IsNothing());
341 return; 343 return;
342 } 344 }
343 345
344 i::Handle<i::Object> first_arg = Utils::OpenHandle(*args[0]); 346 i::Handle<i::Object> first_arg = Utils::OpenHandle(*args[0]);
345 if (!first_arg->IsJSObject()) { 347 if (!first_arg->IsJSObject()) {
346 thrower.TypeError( 348 thrower.TypeError(
347 "Argument 0 must be a buffer source or a WebAssembly.Module object"); 349 "Argument 0 must be a buffer source or a WebAssembly.Module object");
348 resolver->Reject(context, Utils::ToLocal(thrower.Reify())); 350 auto maybe = resolver->Reject(context, Utils::ToLocal(thrower.Reify()));
351 CHECK(!maybe.IsNothing());
349 return; 352 return;
350 } 353 }
351 354
352 auto maybe_imports = GetSecondArgumentAsImports(args, &thrower); 355 auto maybe_imports = GetSecondArgumentAsImports(args, &thrower);
353 if (thrower.error()) { 356 if (thrower.error()) {
354 resolver->Reject(context, Utils::ToLocal(thrower.Reify())); 357 auto maybe = resolver->Reject(context, Utils::ToLocal(thrower.Reify()));
358 CHECK(!maybe.IsNothing());
355 return; 359 return;
356 } 360 }
357 if (!IsInstantiationAllowed(i_isolate, &thrower, args[0], maybe_imports, 361 if (!IsInstantiationAllowed(i_isolate, &thrower, args[0], maybe_imports,
358 true)) { 362 true)) {
359 resolver->Reject(context, Utils::ToLocal(thrower.Reify())); 363 auto maybe = resolver->Reject(context, Utils::ToLocal(thrower.Reify()));
364 CHECK(!maybe.IsNothing());
360 return; 365 return;
361 } 366 }
362 i::Handle<i::JSPromise> promise = Utils::OpenHandle(*resolver->GetPromise()); 367 i::Handle<i::JSPromise> promise = Utils::OpenHandle(*resolver->GetPromise());
363 if (HasBrand(first_arg, i::Handle<i::Symbol>(i_context->wasm_module_sym()))) { 368 if (HasBrand(first_arg, i::Handle<i::Symbol>(i_context->wasm_module_sym()))) {
364 // WebAssembly.instantiate(module, imports) -> WebAssembly.Instance 369 // WebAssembly.instantiate(module, imports) -> WebAssembly.Instance
365 auto module_object = GetFirstArgumentAsModule(args, &thrower); 370 auto module_object = GetFirstArgumentAsModule(args, &thrower);
366 i::wasm::AsyncInstantiate(i_isolate, promise, 371 i::wasm::AsyncInstantiate(i_isolate, promise,
367 module_object.ToHandleChecked(), maybe_imports); 372 module_object.ToHandleChecked(), maybe_imports);
368 } else { 373 } else {
369 // WebAssembly.instantiate(bytes, imports) -> {module, instance} 374 // WebAssembly.instantiate(bytes, imports) -> {module, instance}
370 auto bytes = GetFirstArgumentAsBytes(args, &thrower); 375 auto bytes = GetFirstArgumentAsBytes(args, &thrower);
371 if (thrower.error()) { 376 if (thrower.error()) {
372 resolver->Reject(context, Utils::ToLocal(thrower.Reify())); 377 auto maybe = resolver->Reject(context, Utils::ToLocal(thrower.Reify()));
378 CHECK(!maybe.IsNothing());
373 return; 379 return;
374 } 380 }
375 i::wasm::AsyncCompileAndInstantiate(i_isolate, promise, bytes, 381 i::wasm::AsyncCompileAndInstantiate(i_isolate, promise, bytes,
376 maybe_imports); 382 maybe_imports);
377 } 383 }
378 } 384 }
379 385
380 bool GetIntegerProperty(v8::Isolate* isolate, ErrorThrower* thrower, 386 bool GetIntegerProperty(v8::Isolate* isolate, ErrorThrower* thrower,
381 Local<Context> context, Local<v8::Object> object, 387 Local<Context> context, Local<v8::Object> object,
382 Local<String> property, int* result, 388 Local<String> property, int* result,
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 i::Handle<i::Symbol> symbol(isolate->context()->wasm_memory_sym(), isolate); 924 i::Handle<i::Symbol> symbol(isolate->context()->wasm_memory_sym(), isolate);
919 return HasBrand(value, symbol); 925 return HasBrand(value, symbol);
920 } 926 }
921 927
922 bool WasmJs::IsWasmTableObject(Isolate* isolate, Handle<Object> value) { 928 bool WasmJs::IsWasmTableObject(Isolate* isolate, Handle<Object> value) {
923 i::Handle<i::Symbol> symbol(isolate->context()->wasm_table_sym(), isolate); 929 i::Handle<i::Symbol> symbol(isolate->context()->wasm_table_sym(), isolate);
924 return HasBrand(value, symbol); 930 return HasBrand(value, symbol);
925 } 931 }
926 } // namespace internal 932 } // namespace internal
927 } // namespace v8 933 } // namespace v8
OLDNEW
« no previous file with comments | « include/v8.h ('k') | src/wasm/wasm-module.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698