commit | 81becb8c1074d4d1f90c12d267634a10c4e4986c | [log] [tgz] |
---|---|---|
author | Jakob Kummerow <jkummerow@chromium.org> | Mon Jan 07 11:54:56 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Jan 07 13:07:26 2019 |
tree | 14547107e2e5697d37aed23187beda6a250575fe | |
parent | 5a5606bec30be08480fcda2941258cba3a212c2c [diff] |
[ubsan] Fix errors related to AsmType The AsmType class uses a design similar to the old Object* model, where arbitrary values (including 0) are reinterpret_cast to pointers. This yields the following UBSan error, among others: src/asmjs/asm-parser.cc:2000:51: runtime error: member call on null pointer of type 'v8::internal::wasm::AsmType' This patch does the smallest possible fix by turning the affected methods into static functions. Longer-term, we should consider switching the overall class design to a "struct wrapping an Address" model like the new Object definition, which is a bit non-trivial because some AsmType types are ZoneObject subclasses. Bug: v8:3770 Change-Id: Ie2a7cdc9eab32c4c469d699212c84b0419480b4f Reviewed-on: https://chromium-review.googlesource.com/c/1397663 Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58586}
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://github.com/v8/v8/wiki
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies. To stay up to date, run
git pull origin gclient sync
For fetching all branches, add the following into your remote configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/* fetch = +refs/tags/*:refs/tags/*
Please follow the instructions mentioned on the V8 wiki.