- 25 Oct, 2018 2 commits
-
-
Junliang Yan authored
Port e893eb14 Original Commit Message: This adds support for having reference type values (i.e. anyref) stored in an exception. It is the natural combination of the reference type proposal and the exception handling proposal. Note that this also introduces support for having write barriers in generated WasmCode, as this is the first time we are storing references within generated code. Such write barriers will be needed for other uses of reference types (e.g. mutable global) regardless. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:8341 LOG=N Change-Id: I6837a31791654ebe4171f6ecb563939beb3a66dd Reviewed-on: https://chromium-review.googlesource.com/c/1299899Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#57009}
-
Igor Sheludko authored
Bug: v8:8182 Change-Id: I4dadd9cab071ecd4314c370be5f444e36acb708e Reviewed-on: https://chromium-review.googlesource.com/c/1297317Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56973}
-
- 22 Oct, 2018 1 commit
-
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: I26510b95469b6d9724bdae150f65f4c3068553ea Reviewed-on: https://chromium-review.googlesource.com/c/1293774Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56869}
-
- 19 Oct, 2018 1 commit
-
-
Sigurd Schneider authored
Drive-by: Eliminate unnecessary includes to src/assembler.h. Bug: v8:8238 Change-Id: Ia0408b993b8b1c21a76c947f406f96b63fe41994 Reviewed-on: https://chromium-review.googlesource.com/c/1288810Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#56817}
-
- 17 Oct, 2018 2 commits
-
-
Junliang Yan authored
Change-Id: I4f4c95c92925c8778ce915d5b37517ad6e0a6145 Reviewed-on: https://chromium-review.googlesource.com/c/1286538Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56748}
-
Jakob Gruber authored
Some confusion has crept in over time, specifically around the distinction between an offset to an external reference's address and an offset to its entry in the external reference table. This CL unifies naming and interfaces. Drive-by: Fix formatting in macro-assembler-x64. Bug: v8:6666 Change-Id: Iade98ca28a7304aba0254b92b553343826a08e41 Reviewed-on: https://chromium-review.googlesource.com/c/1286674 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#56741}
-
- 16 Oct, 2018 1 commit
-
-
Sigurd Schneider authored
Bug: v8:6666, v8:7777 Change-Id: I0d1306bb96e12c81e876888b0ca69cae5855fbc3 Reviewed-on: https://chromium-review.googlesource.com/c/1273100Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#56678}
-
- 11 Oct, 2018 2 commits
-
-
Junliang Yan authored
Port a63987a4 Original Commit Message: This JSAsyncFunctionObject represents the implicit generator object inside of async functions, and also holds the outer promise for the async functions. This in turn allows us to get rid of the .promise in the Parser / BytecodeGenerator completely, and will make it possible to build zero-cost async stack traces independent of the concrete synchronous part of the stack frame (which currently breaks in Node.js). In the bytecode all the async function operations now take this new JSAsyncFunctionObject instead of passing both the .generator_object and the .promise, which further simplifies and shrinks the bytecode. It also reduces the size of async function frames, potentially making the suspend/resume cheaper. This also changes `await` to use intrinsics instead of calling to special JSFunctions on the native context, and thus reduces the size of the native contexts. to TurboFan. R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ife0aa45b11580f316e657942485907cf78336e4b Reviewed-on: https://chromium-review.googlesource.com/c/1276867 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56581}
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: Ie5d47a3c0bc132ddf01910e0b16fd550d769e1bd Reviewed-on: https://chromium-review.googlesource.com/c/1276866Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56578}
-
- 10 Oct, 2018 3 commits
-
-
Junliang Yan authored
Port 4cbec82c Original Commit Message: Pure refactoring CL. Introduce a symbolic name for the register used to hold the function index when calling the lazy compile stub. This makes it easier to see this contract when looking at the macro assembler. R=titzer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I320373dfe4734b27b85217a829bf574bc7b90a2d Reviewed-on: https://chromium-review.googlesource.com/c/1273825Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56536}
-
Ben L. Titzer authored
This CL refactors the implementation of WASM->JS import wrappers in order to make the wrapper code shareable. Instead of specializing to the import index, we use a tuple as the object ref in the both the import and indirect tables. The tuple allows the wrapper code to load both the calling instance and the target callable, rather than relying on code specialization. This requires some tricky codegen machinery, because WASM call descriptors expect an instance argument in a given register, yet the wrappers receive a tuple, the code generator must generate a prologue that loads the instance (and the callable), since it is not possible to express this at the graph level. R=mstarzinger@chromium.org CC=clemensh@chromium.org Change-Id: Id67e307f7f5089e776f5439a53b5aee4b76934b6 Reviewed-on: https://chromium-review.googlesource.com/c/1268237 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56520}
-
Igor Sheludko authored
... and remove Heap::RootCanBeWrittenAfterInitialization() and Heap::RootCanBeTreatedAsConstant() in favour of RootsTable::IsImmortalImmovable(). Bug: v8:8238 Change-Id: I804d06136de9584b8c4940fd8ab9d18fb3ef7980 Reviewed-on: https://chromium-review.googlesource.com/c/1270837 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#56500}
-
- 02 Oct, 2018 1 commit
-
-
andrew-cc-chen authored
Change-Id: I7591ccc55405a2fbd258bf28d53cd40a4bddf2c2 Reviewed-on: https://chromium-review.googlesource.com/1255102Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56344}
-
- 01 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
This removes duplication in the platform-dependent assemblers by introducing {AssemblerBase::ShouldRecordRelocInfo}. On arm64, we also remove a bool and replace it by an early exit. R=mstarzinger@chromium.org Bug: v8:8238 Change-Id: I08c623a19167a358c3188dc9008f045120da82b1 Reviewed-on: https://chromium-review.googlesource.com/1251085Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56319}
-
- 20 Sep, 2018 2 commits
-
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: Ibebb8bdb064628443c7bb4093382c3e7e8c04472 Reviewed-on: https://chromium-review.googlesource.com/1236601Reviewed-by:
Muntasir Mallick <mmallick@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56104}
-
Igor Sheludko authored
and introduce RootsTable - a V8 heap roots storage. So, the renaming part looks like this: Heap::RootListIndex -> RootIndex Heap::kBlahBlahRootIndex -> RootIndex::kBlahBlah Bug: v8:8015, v8:8182 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I38e1f3e3f6813ef35e37b0bed35e9ae14a62134f Reviewed-on: https://chromium-review.googlesource.com/1234613Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56067}
-
- 19 Sep, 2018 1 commit
-
-
Junliang Yan authored
Port fef047a4 Original Commit Message: This CL implements the following design doc: https://docs.google.com/document/d/1h5kdfemMQMpUd15PSKW1lqikJW5hsGwrmOvoqhGFRts/edit?ts=5b978756#heading=h.urs7r34mx9p R=mslekova@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Iac369feb7a0bfb1d878a3c0fb4a6efbee6371128 Reviewed-on: https://chromium-review.googlesource.com/1234973Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56054}
-
- 15 Sep, 2018 1 commit
-
-
Igor Sheludko authored
This allows to avoid passing around Isolate instance for no actual reason when generating "codegen" functions. Bug: v8:8015 Change-Id: Ic3a9bd5a8ecb5b559479e44c5e1309a78a1546e7 Reviewed-on: https://chromium-review.googlesource.com/1226133Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#55926}
-
- 11 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
The macro has been deprecated since 2016, and it keeps confusing me, so let's just remove it completely from the code base. R=leszeks@chromium.org TBR=mstarzinger@chromium.org, verwaest@chromium.org, jgruber@chromium.org Bug: v8:8015 Change-Id: Ibe1122fd9d2624bc94873d9c51dc8499c54a04fd Reviewed-on: https://chromium-review.googlesource.com/1209322Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55779}
-
- 06 Sep, 2018 1 commit
-
-
Igor Sheludko authored
... like AllocatePage[s](), FreePages() and SetPermissions(). This CL also changes base::PageAllocator to cache AllocatePageSize and CommitPageSize values returned by the OS. This is a necessary cleanup before introducing BoundedPageAllocator. Bug: v8:8096 Change-Id: Ifb7cdd2caa6a1b029ce0fca6545c61df9d281be2 Reviewed-on: https://chromium-review.googlesource.com/1209343Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#55690}
-
- 05 Sep, 2018 1 commit
-
-
andrew-cc-chen authored
Corrected register calling syntax in assembler-s390.cc and test-platform.cc. Generate_CEntry in builtins-s390.cc expects return buffer to be preserved in r2, but when built with clang r2 isn't preserved, which breaks 300+ tests. It is fixed by writing r2's value into r8 (preserved) and loading the value back to r2 after the operation. Change-Id: I184f0111944b6ad8c0ccc8b97407d702dd97d9d8 Reviewed-on: https://chromium-review.googlesource.com/1204530Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55631}
-
- 04 Sep, 2018 1 commit
-
-
Junliang Yan authored
Change-Id: Id2ba591deb39428d9c788a9c9dcfd15bb8581bd0 Reviewed-on: https://chromium-review.googlesource.com/1205330Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#55623}
-
- 03 Sep, 2018 1 commit
-
-
jgruber authored
The isolate can be efficiently loaded through other means: either as a root-relative load (if embedded builtins are enabled), or as an embedded external reference (i.e. the absolute pointer is included in the instruction stream) otherwise. The generated code should be at least as fast as previously. On x64 (with embedded builtins): Before: // Register moves in prologue: 0x7f47a6b4860a a 488955e0 REX.W movq [rbp-0x20],rdx // And the load from a stack slot at each use-site. 0x7f47a6b486f2 f2 488b7de0 REX.W movq rdi,[rbp-0x20] After: // Each use-site just loads a root-relative offset. 0x7f1645fcc6ce ee 498dbd38ffffff REX.W leaq rdi,[r13-0xc8] On ia32 (no embedded builtins), before: 0x5c608930 10 8955f0 mov [ebp-0x10],edx 0x5c6089fb db 891424 mov [esp],edx After: 0x41d0898d 8d b80033b156 mov eax,0x56b13300 Removal reduces register pressure, and frees up ebx as the root register on ia32. Note that the set of allocatable registers was only reduced on ia32 to exclude the root register. Bug: v8:6666 Change-Id: I14e401e2823c82042c76acae10c3c935b9982993 Reviewed-on: https://chromium-review.googlesource.com/1201586 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#55587}
-
- 31 Aug, 2018 1 commit
-
-
jgruber authored
This reorders arguments in preparation for removing ebx from its calling convention (in a follow-up some args will be passed on the stack). Drive-by: Improve readability in the code handling different cases (array,spread,...). Bug: v8:6666 Change-Id: I0160f8efafd0fd0e841739578e01c32b38adb66e Reviewed-on: https://chromium-review.googlesource.com/1196884Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55557}
-
- 29 Aug, 2018 1 commit
-
-
jgruber authored
This replaces ebx usage in several more interface descriptors. - IC descriptors already passed most arguments on the stack (updated their Register accessors to reflect that). - The allocation site argument appears to be unused in the ConstructStub descriptor. It can probably be removed in a follow-up. Drive-by: Rename ArgumentAdaptorDescriptor to ArgumentsAdaptorDescriptor to match the builtin name. Bug: v8:6666 Change-Id: I4cdf1775a5b4b74491d6d303c49a8af9b6cd3c03 Reviewed-on: https://chromium-review.googlesource.com/1195367 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#55495}
-
- 28 Aug, 2018 1 commit
-
-
jgruber authored
These two builtins are a special case in that their calling convention must be kept in-sync since they are both generated from Generate_CallOrConstructVarargs. ConstructVarargs in particular used all available registers. In order to free ebx, the calling convention is changed to pass the last argument on the stack. As part of this change, the order of the last two arguments is swapped since the stack parameter must be tagged. Bug: v8:6666 Change-Id: If1ad14fc09693c36dd63ffebb6f34fcd3f012896 Reviewed-on: https://chromium-review.googlesource.com/1193444Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55458}
-
- 27 Aug, 2018 1 commit
-
-
Junliang Yan authored
This reverts commit b8705eb6. Reason for revert: bf1e47e6 is reverted. Original change's description: > PPC64/s390x: move smi to lower 32-bit > > Change-Id: Id203bb297547002a41e18d621b59ce4237f88e5a > Reviewed-on: https://chromium-review.googlesource.com/1183976 > Reviewed-by: Muntasir Mallick <mmallick@ca.ibm.com> > Commit-Queue: Junliang Yan <jyan@ca.ibm.com> > Cr-Commit-Position: refs/heads/master@{#55320} TBR=jyan@ca.ibm.com,joransiu@ca.ibm.com,mmallick@ca.ibm.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Ied4e7b0cd0659b5429906d1d90c91397fa268416 Reviewed-on: https://chromium-review.googlesource.com/1191162Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#55435}
-
- 23 Aug, 2018 3 commits
-
-
Bill Budge authored
Change-Id: I0870a13fd257e014a3b6dca8ee7ccb3aa5485066 Reviewed-on: https://chromium-review.googlesource.com/1183525Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#55359}
-
Michael Starzinger authored
R=sigurds@chromium.org Change-Id: Ib024d099946d4351bfce9de8eb61be1dba5e1ce5 Reviewed-on: https://chromium-review.googlesource.com/1186415 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#55351}
-
Michael Starzinger authored
R=titzer@chromium.org BUG=v8:6408 Change-Id: I277beafaace334883ddbe63b9615e3f18085ce5e Reviewed-on: https://chromium-review.googlesource.com/1186411 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55350}
-
- 22 Aug, 2018 3 commits
-
-
Junliang Yan authored
Change-Id: Id203bb297547002a41e18d621b59ce4237f88e5a Reviewed-on: https://chromium-review.googlesource.com/1183976Reviewed-by:
Muntasir Mallick <mmallick@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#55320}
-
jgruber authored
This adds a kRuntimeCallArgvRegister definition in platform-specific macro assemblers and unifies interface descriptor initialization. Bug: v8:6666 Change-Id: I6fd98bf9ac46083dd2e557ab558d0a5117dd7b94 Reviewed-on: https://chromium-review.googlesource.com/1185003Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55310}
-
jgruber authored
Some builtins, so-called wasm runtime stubs, are copied off-heap to ensure reachability through near jumps. These builtins must be individually position-independent. In particular, they may not contain pc-relative calls to other builtins. Drive-by: Set hard_abort mode for all wasm runtime stubs to avoid Abort calls. Bug: v8:6666 Change-Id: Ie5bc9fc539d6a043dcf7dff66c3b4643baec69ab Reviewed-on: https://chromium-review.googlesource.com/1183236 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55296}
-
- 17 Aug, 2018 1 commit
-
-
Ulan Degenbaev authored
This moves write-barrier for writes into code to heap-write-barrier.h and adds four new functions: - WriteBarrierForCode(host, rinfo, object) - combined generational and marking write barrier. - WriteBarrierForCode(host) - combined write barrier that rescans all pointers in the host (former RecordWritesIntoCode). - GenerationalWriteBarrierForCode. - MarkingWriteBarrierForCode. Bug: v8:8054,v8:7490 Change-Id: Ib1e07cfa1d5998fca2fa44e2ad08c52305f1373f Reviewed-on: https://chromium-review.googlesource.com/1174436Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#55185}
-
- 15 Aug, 2018 1 commit
-
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: I9a2cf0f3e4a33dc4b86c83acfefcd27968bbcdb4 Reviewed-on: https://chromium-review.googlesource.com/1176424Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#55143}
-
- 08 Aug, 2018 5 commits
-
-
Junliang Yan authored
Port d324382e and Port bd3f0a68 Original Commit Message: This is a reland of a462a785 Original change's description: > [turboassembler] Introduce hard-abort mode > > For checks and assertions (mostly for debug code, like stack alignment > or zero extension), we had two modes: Emit a call to the {Abort} > runtime function (the default), and emit a debug break (used for > testing, enabled via --trap-on-abort). > In wasm, where we cannot just call a runtime function because code must > be isolate independent, we always used the trap-on-abort behaviour. > This causes problems for our fuzzers, which do not catch SIGTRAP, and > hence do not detect debug code failures. > > This CL introduces a third mode ("hard abort"), which calls a C > function via {ExternalReference}. The C function still outputs the > abort reason, but does not print the stack trace. It then aborts via > "OS::Abort", just like the runtime function. > This will allow fuzzers to detect the crash and even find a nice error > message. > > Even though this looks like a lot of code churn, it is actually not. > Most added lines are new tests, and other changes are minimal. > > R=mstarzinger@chromium.org > > Bug: chromium:863799 > Change-Id: I77c58ff72db552d49014614436259ccfb49ba87b > Reviewed-on: https://chromium-review.googlesource.com/1142163 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54592} R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I60023470fa07576fd313f628ade06e279d5f4927 Reviewed-on: https://chromium-review.googlesource.com/1165822 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54980}
-
Michael Starzinger authored
R=sigurds@chromium.org Change-Id: I7df887f84024831b4c55b3468bd54429280dd14e Reviewed-on: https://chromium-review.googlesource.com/1167054Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54977}
-
Michael Starzinger authored
R=sigurds@chromium.org Change-Id: I1ca0e215da36400a8817bc8c8912ccfde8eca613 Reviewed-on: https://chromium-review.googlesource.com/1166911Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54973}
-
Michael Starzinger authored
We instantiate the JumpTableAssembler in patching mode (i.e. directly on existing code without an intermittent buffer). In this mode it is not possible to record reloc information. This makes sure we no longer just blindly write into the non-existing buffer. R=clemensh@chromium.org BUG=v8:8028 Change-Id: I4abb8f06cf819fef608e901c4740263f0cecd08a Reviewed-on: https://chromium-review.googlesource.com/1166834 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54966}
-
Michael Starzinger authored
R=sigurds@chromium.org Change-Id: I2f8210a386fa39030c7ffe4c7d0f25bd845c612a Reviewed-on: https://chromium-review.googlesource.com/1166908 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54964}
-