| OLD | NEW |
| 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/asmjs/asm-js.h" | 5 #include "src/asmjs/asm-js.h" |
| 6 | 6 |
| 7 #include "src/api-natives.h" | 7 #include "src/api-natives.h" |
| 8 #include "src/api.h" | 8 #include "src/api.h" |
| 9 #include "src/asmjs/asm-parser.h" | 9 #include "src/asmjs/asm-parser.h" |
| 10 #include "src/asmjs/asm-typer.h" | 10 #include "src/asmjs/asm-typer.h" |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 MessageLocation location(info->script(), parser.failure_location(), | 182 MessageLocation location(info->script(), parser.failure_location(), |
| 183 parser.failure_location()); | 183 parser.failure_location()); |
| 184 Handle<String> message = | 184 Handle<String> message = |
| 185 info->isolate() | 185 info->isolate() |
| 186 ->factory() | 186 ->factory() |
| 187 ->NewStringFromUtf8(CStrVector(parser.failure_message())) | 187 ->NewStringFromUtf8(CStrVector(parser.failure_message())) |
| 188 .ToHandleChecked(); | 188 .ToHandleChecked(); |
| 189 Handle<JSMessageObject> error_message = | 189 Handle<JSMessageObject> error_message = |
| 190 MessageHandler::MakeMessageObject( | 190 MessageHandler::MakeMessageObject( |
| 191 info->isolate(), MessageTemplate::kAsmJsInvalid, &location, | 191 info->isolate(), MessageTemplate::kAsmJsInvalid, &location, |
| 192 message, Handle<JSArray>::null()); | 192 message, Handle<FixedArray>::null()); |
| 193 error_message->set_error_level(v8::Isolate::kMessageWarning); | 193 error_message->set_error_level(v8::Isolate::kMessageWarning); |
| 194 MessageHandler::ReportMessage(info->isolate(), &location, | 194 MessageHandler::ReportMessage(info->isolate(), &location, |
| 195 error_message); | 195 error_message); |
| 196 } | 196 } |
| 197 return MaybeHandle<FixedArray>(); | 197 return MaybeHandle<FixedArray>(); |
| 198 } | 198 } |
| 199 Zone* zone = info->zone(); | 199 Zone* zone = info->zone(); |
| 200 module = new (zone) wasm::ZoneBuffer(zone); | 200 module = new (zone) wasm::ZoneBuffer(zone); |
| 201 parser.module_builder()->WriteTo(*module); | 201 parser.module_builder()->WriteTo(*module); |
| 202 asm_offsets = new (zone) wasm::ZoneBuffer(zone); | 202 asm_offsets = new (zone) wasm::ZoneBuffer(zone); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 length = base::OS::SNPrintF( | 268 length = base::OS::SNPrintF( |
| 269 text, arraysize(text), | 269 text, arraysize(text), |
| 270 "success, asm->wasm: %0.3f ms, compile: %0.3f ms, %" PRIuPTR " bytes", | 270 "success, asm->wasm: %0.3f ms, compile: %0.3f ms, %" PRIuPTR " bytes", |
| 271 asm_wasm_time, compile_time, wasm_size); | 271 asm_wasm_time, compile_time, wasm_size); |
| 272 } | 272 } |
| 273 DCHECK_NE(-1, length); | 273 DCHECK_NE(-1, length); |
| 274 USE(length); | 274 USE(length); |
| 275 Handle<String> stext(info->isolate()->factory()->InternalizeUtf8String(text)); | 275 Handle<String> stext(info->isolate()->factory()->InternalizeUtf8String(text)); |
| 276 Handle<JSMessageObject> message = MessageHandler::MakeMessageObject( | 276 Handle<JSMessageObject> message = MessageHandler::MakeMessageObject( |
| 277 info->isolate(), MessageTemplate::kAsmJsCompiled, &location, stext, | 277 info->isolate(), MessageTemplate::kAsmJsCompiled, &location, stext, |
| 278 Handle<JSArray>::null()); | 278 Handle<FixedArray>::null()); |
| 279 message->set_error_level(v8::Isolate::kMessageInfo); | 279 message->set_error_level(v8::Isolate::kMessageInfo); |
| 280 if (!FLAG_suppress_asm_messages && FLAG_trace_asm_time) { | 280 if (!FLAG_suppress_asm_messages && FLAG_trace_asm_time) { |
| 281 MessageHandler::ReportMessage(info->isolate(), &location, message); | 281 MessageHandler::ReportMessage(info->isolate(), &location, message); |
| 282 } | 282 } |
| 283 | 283 |
| 284 return result; | 284 return result; |
| 285 } | 285 } |
| 286 | 286 |
| 287 bool AsmJs::IsStdlibValid(i::Isolate* isolate, Handle<FixedArray> wasm_data, | 287 bool AsmJs::IsStdlibValid(i::Isolate* isolate, Handle<FixedArray> wasm_data, |
| 288 Handle<JSReceiver> stdlib) { | 288 Handle<JSReceiver> stdlib) { |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 length = base::OS::SNPrintF(text, arraysize(text), "success"); | 381 length = base::OS::SNPrintF(text, arraysize(text), "success"); |
| 382 } else { | 382 } else { |
| 383 length = base::OS::SNPrintF(text, arraysize(text), "success, %0.3f ms", | 383 length = base::OS::SNPrintF(text, arraysize(text), "success, %0.3f ms", |
| 384 instantiate_timer.Elapsed().InMillisecondsF()); | 384 instantiate_timer.Elapsed().InMillisecondsF()); |
| 385 } | 385 } |
| 386 DCHECK_NE(-1, length); | 386 DCHECK_NE(-1, length); |
| 387 USE(length); | 387 USE(length); |
| 388 Handle<String> stext(isolate->factory()->InternalizeUtf8String(text)); | 388 Handle<String> stext(isolate->factory()->InternalizeUtf8String(text)); |
| 389 Handle<JSMessageObject> message = MessageHandler::MakeMessageObject( | 389 Handle<JSMessageObject> message = MessageHandler::MakeMessageObject( |
| 390 isolate, MessageTemplate::kAsmJsInstantiated, &location, stext, | 390 isolate, MessageTemplate::kAsmJsInstantiated, &location, stext, |
| 391 Handle<JSArray>::null()); | 391 Handle<FixedArray>::null()); |
| 392 message->set_error_level(v8::Isolate::kMessageInfo); | 392 message->set_error_level(v8::Isolate::kMessageInfo); |
| 393 if (!FLAG_suppress_asm_messages && FLAG_trace_asm_time) { | 393 if (!FLAG_suppress_asm_messages && FLAG_trace_asm_time) { |
| 394 MessageHandler::ReportMessage(isolate, &location, message); | 394 MessageHandler::ReportMessage(isolate, &location, message); |
| 395 } | 395 } |
| 396 | 396 |
| 397 Handle<String> exports_name = | 397 Handle<String> exports_name = |
| 398 isolate->factory()->InternalizeUtf8String("exports"); | 398 isolate->factory()->InternalizeUtf8String("exports"); |
| 399 return i::Object::GetProperty(module_object, exports_name); | 399 return i::Object::GetProperty(module_object, exports_name); |
| 400 } | 400 } |
| 401 | 401 |
| 402 } // namespace internal | 402 } // namespace internal |
| 403 } // namespace v8 | 403 } // namespace v8 |
| OLD | NEW |