- 25 Jun, 2019 1 commit
-
-
Andreas Haas authored
This CL refactors the type-checking for br_table instructions. Originally, we iterated over all targets of br_table and checked if the values on the stack match the types expected by the target's signature. However, this caused problems with type checking unreachable br_table instructions where some stack values are unavailable. According to the anyref proposal, the expected type of br_table is the greatest lower bound of all its targets. With the existing implementation, the expected types were the types of the first target. With this CL, we first calculate the expected types of br_table, and only then inspect the stack if matching values are available. R=titzer@chromium.org Bug: v8:7581 Change-Id: I12208323bda88c363e28ffb0e002d59ef9a6b9d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649791 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62354}
-
- 29 May, 2019 1 commit
-
-
Clemens Hammacher authored
This removes two default switch cases for unsupported opcodes, and replaces them by explicit lists. This makes it easy to see what is currently not supported in Liftoff. In a follow-up CL, each bailout will be associated with a category to track which features currently cause Liftoff to bailout. This change also makes Liftoff crash (in UNREACHABLE) if invoked with asm.js code. Hence, change the asm.js tests to not test Liftoff. In production, we do not invoke Liftoff for asm.js anyway. R=mstarzinger@chromium.org Change-Id: I971c6146ed325103d14008c0e67a973a47a35bc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1634909 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61911}
-
- 28 May, 2019 1 commit
-
-
Andreas Haas authored
The instruction is the same as the existing {select} instruction with type. Both inputs must be in a sub-type relationship with the type specified in the type instruction. R=clemensh@chromium.org Bug: v8:7581 Change-Id: Ibead6cd0253210828c8114336ea0942e6cbd6126 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631413 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61886}
-
- 23 May, 2019 2 commits
-
-
Yang Guo authored
NOPRESUBMIT=true TBR=mstarzinger@chromium.org Bug: v8:9247 Change-Id: I4cd6b79a1c2cba944f6f23caed59d4f1a4ee358b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624217 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61790}
-
Clemens Hammacher authored
This CL was generated by an automatic clang AST rewriter using this matcher expression: callExpr( callee( cxxMethodDecl( hasName("operator->"), ofClass(isSameOrDerivedFrom("v8::internal::Object")) ) ), argumentCountIs(1) ) The "->" at the expression location was then rewritten to ".". R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org Bug: v8:9183, v8:3770 No-Try: true No-Tree-Checks: true Change-Id: I0a7ecabdeafe51d0cf427f5280af0c7cab96869e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624209Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61764}
-
- 22 May, 2019 1 commit
-
-
Andreas Haas authored
Up until now, we cached export wrappers per export index. With the anyref proposal potentially many more functions will need export wrappers, e.g. any function that is stored in a table, and any function accessed by the new ref.func instruction. With this CL, we change the caching scheme an do the caching per signature. Thereby we can guarantee that any export wrapper which potentially exists can be stored in the cache. For cctests which use wasm-run-utils, we don't know the size of the cache anymore ahead of time. However, we assume that no more than 5 signatures will be used in any cctest. If this assumption is not true, we can just adjust the number. The cache is now accessed in all code paths where we need an export wrapper. Bug: chromium:962850 Change-Id: I32df60dfa7801d1e71f7d837da091f388198af1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615247 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61752}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 17 May, 2019 1 commit
-
-
Yang Guo authored
TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Bug: v8:9247 Change-Id: I7ffc2bd4a5fdf7c20cc3283bb5545cbf9ffd4e53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617254Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61609}
-
- 16 May, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit 9ac8b200. Reason for revert: Breaks CFI bot https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20cfi/20442 Original change's description: > Move API-related files > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61579} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I28ee9174a1cbc1dae9711977bf9369253ef43058 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615463Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61583}
-
Yang Guo authored
NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61579}
-
- 29 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Our {Vector} template provides both {start} and {begin} methods. They return exactly the same value. Since the {begin} method is needed for iteration, and is also what standard containers provide, this CL switches all uses of the {start} method to use {begin} instead. Patchset 1 was auto-generated by using this clang AST matcher: callExpr( callee( cxxMethodDecl( hasName("start"), ofClass(hasName("v8::internal::Vector"))) ), argumentCountIs(0)) Patchset 2 was created by running clang-format. Patchset 3 then removes the now unused {Vector::start} method. R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org Bug: v8:9183 Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61081}
-
- 11 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
The {code_table_} in {NativeModule} is protected by the {allocation_mutex_}. The {code} and {code_table} accessors did not acquire this lock though. This CL removes the unsafe {code_table} accessor, renames {code} to {GetCode} and protects it by a lock. R=mstarzinger@chromium.org Bug: v8:9112 Change-Id: Id2df68460b4c10291a49b4016b9574e02744e8b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561315Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60779}
-
- 05 Apr, 2019 1 commit
-
-
Frederik Gossen authored
Locks for compilation state callbacks and for the native module are again taken one after the other. As a consequence, publishing compiled Wasm code again happens in parallel. Compile times are now comparable to before lazy hints were enabled. Bug: chromium:949050 Change-Id: I45c52254d046de080938bd131fd3ed8116660bef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552787 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60646}
-
- 03 Apr, 2019 1 commit
-
-
Frederik Gossen authored
Merged WasmCode::Tier into Execution Tier. Bug: v8:9003 Change-Id: I0ad439b8bc060f73e71d60ab9c93dd6bc18d05fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547852 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60610}
-
- 21 Mar, 2019 1 commit
-
-
Ben Smith authored
When running wasm tests, the interpreter previously used a static collection of function indexes stored in WasmTable to perform call_indirect calls internal to that module. This has the wrong behavior if the table is changed (via WasmTableObject::Set, `table.copy`, or `table.init`). This CL changes the cctests to always generate an intepreter entry for all functions, and stores those entries in the dispatch table. This allows us to use the same execution path as for non-testing code. The interpreter entry compiler needed to be changed to support multi-value returns too, since a 64-bit integer return value may be lowered to two 32-bit integer returns. Bug: v8:9016 Change-Id: I277df21ffde5c2eee0b691fcc9bab2b1a43eeffc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1531137 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60380}
-
- 20 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
This prepares a refactoring to add and publish compilation results in batches. For this, we need to separate the two phases, so that we can lock the module, allocate all the code space, release the lock, copy the code, lock the module, publish the code, and release the lock again. In particular, this CL does the following: 1) It removes the {AddOwnedCode} method. The functionality of creating the {WasmCode} and memcpy'ing the instruction into that is done in the other {Add*Code} methods. Adding to {owned_code_} is done in {PublishCode}. 2) {PublishInterpreterEntry} is now functionally equivalent to {PublishCode}, so it's removed. 3) After {AddCode}, the caller has to call {PublishCode}. In a follow-up CL, this will be called in batches (first {AddCode} them all, then {PublishCode} them all). 4) {AddCompiledCode} now assumes that the {WasmCompilationResult} succeeded. Otherwise, the caller should directly call {SetError} on the {CompilationState}. 5) {PublishCode} is now the chokepoint for installing code to the code table, the owned code vector, the jump table, and setting interpreter redirections. It replaces previous direct calls to {InstallCode} or explicitly adding to {owned_code_}. 6) Increasing the {generated_code_size_} counter is now done in {AllocateForCode}, which is the chokepoint for allocating space for generated code. This way, we will only increase this counter once once we allocate in batches. R=titzer@chromium.org Bug: v8:8916 Change-Id: I71e02e3a838f21797915cee3ebd373804fb12237 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530817 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60369}
-
- 07 Mar, 2019 1 commit
-
-
Francis McCabe authored
Implement ReturnCall functionality for TurboFan compiler. Bug: v8:7431 Change-Id: I1e20473a9b3eba9ee48c0c11f89029356dd9b9eb Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1467344 Commit-Queue: Francis McCabe <fgm@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60103}
-
- 27 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
A small refactoring to reduce complexity. It also moves the call to {RegisterTrapHandlerData} out of the mutex to reduce the time in this critical section. R=mstarzinger@chromium.org Bug: v8:8916 Change-Id: I644f03db6099ebef22b2e33b607a2dc038b36423 Reviewed-on: https://chromium-review.googlesource.com/c/1478196 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59907}
-
- 04 Feb, 2019 1 commit
-
-
Jakob Gruber authored
These offsets are now transported via CodeDesc. Bug: v8:8758 Change-Id: If7485c62878bc81a55c9b4ca8ce3578dab2376ce Reviewed-on: https://chromium-review.googlesource.com/c/1447717 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59315}
-
- 01 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
This CL changes the usage pattern from FOR_XXX_VALUES(i) { Use(*i); } to FOR_XXX_VALUES(i) { Use(i); } which is way more intuitive. Note that the replacement in the uses was done via regular expression, so it's purely mechanical. In two locations I removed unneeded braces around the macro, because they confused clang-format. I plan to do more cleanups (remove redundant assignments within the FOR_XXX_VALUES body) in a follow-up CL. R=mstarzinger@chromium.org Bug: v8:8562 Change-Id: I4329bfcf34e5b077d19b50f4204ceb3b4340fe61 Reviewed-on: https://chromium-review.googlesource.com/c/1449615 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59287}
-
- 28 Jan, 2019 2 commits
-
-
Jakob Kummerow authored
Numeric conversions are defined behavior iff the value is in the range of what the target type can represent. Bug: v8:3770 Change-Id: Ic6f2276c64cb39345a45d8e37e604c28ecca34c2 Reviewed-on: https://chromium-review.googlesource.com/c/1436216 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59144}
-
Jakob Kummerow authored
The workaround is simple: cast to unsigned before shifting. Bug: v8:3770 Change-Id: I5f0f7af697ec5db0ab1df3d061008940c83c5c56 Reviewed-on: https://chromium-review.googlesource.com/c/1436215Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#59140}
-
- 25 Jan, 2019 1 commit
-
-
Andreas Haas authored
Anyref parameters can exist across GC runs. Therefore the GC has to know where anyref parameters are on the stack so that it can mark them in its marking phase, and update them in the compaction phase. Already in a previous CL we grouped all anyref parameters so that they can be found more easily in a stack frame, see https://crrev.com/c/1371827. In this CL we implement the stack scanning itself. Note that anyref parameters are not scanned while iterating over the caller's frame (to which they actually belong), but while iterating over the callee's frame. The reason is that with tail-calls, only the callee knows how many tagged stack parameters (aka anyref parameters) there are. R=mstarzinger@chromium.org also-by=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I7a41ce11d06c0d420146fdb0bb8d5606f28824d7 Reviewed-on: https://chromium-review.googlesource.com/c/1424955 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59099}
-
- 10 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
Mostly signed integer overflows, and a few cases of double division by zero (which is defined by IEEE-754 to return Infinity (or NaN for 0/0) but is UB in C++). Bug: v8:3770 Change-Id: Id92725b0ac57cb357978124a3dc6f477430bc97d Reviewed-on: https://chromium-review.googlesource.com/c/1403133 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58696}
-
- 03 Dec, 2018 1 commit
-
-
George Wort authored
Move lhs into dst when lhs == rhs. Bug: v8:6600, chromium:910223 Change-Id: I5bcb01b57705c52f363a43b2036f0ade0fd451e7 Reviewed-on: https://chromium-review.googlesource.com/c/1357041 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57996}
-
- 14 Nov, 2018 1 commit
-
-
Michael Starzinger authored
This avoids creating an on-heap copy for import wrappers by directly adding the {WasmCode} into the native heap instead. It reduces compilation time as well as useless GC pressure. R=clemensh@chromium.org BUG=v8:8423 Change-Id: Ia063523834c963591027c7d1ed78b795d24907bf Reviewed-on: https://chromium-review.googlesource.com/c/1335566 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57511}
-
- 21 Aug, 2018 1 commit
-
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Change-Id: Iacdff28dd1383d77d7708de4ee22d9f2a77d872a Reviewed-on: https://chromium-review.googlesource.com/1183440 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55284}
-
- 13 Aug, 2018 1 commit
-
-
Ivica Bogosavljevic authored
This CL implements several things needed for full SIMD BE support in WASM: * Global variables are now kept in little-endian order as per specification * Added support for SIMD on BE in wasm interpreter * Fixed several tests that didn't work on BE because input or output data were not using LE in-memory layout Change-Id: I4542d13d09fd276e15b0fc39f02e4a58831f65e4 Reviewed-on: https://chromium-review.googlesource.com/1160484 Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#55075}
-
- 13 Jul, 2018 1 commit
-
-
Michael Starzinger authored
This moves the entire code generation phase (including code emission into the native module) into the background task. The code manager is fully thread safe by now and there are no Isolate-bound steps anymore. The only step remaining on the foreground task is publishing the fully finished code to other threads via {NativeModule::PublishCode}. R=clemensh@chromium.org BUG=v8:7921 Change-Id: Ia64c6ce945aabd071b26e61ef8d397fb7727a038 Reviewed-on: https://chromium-review.googlesource.com/1135004 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54425}
-
- 28 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
This CL removes the friendship between {NativeModule} and {NativeModuleSerializer}/{NativeModuleDeserializer}. Instead, it adds a new public method ({AddDeserializedCode}) which is being called from the deserializer. Drive-by: Unify the argument order to {AddCode}, {AddOwnedCode} and {WasmCode}. R=mstarzinger@chromium.org Bug: chromium:856938 Change-Id: I88943c90c45650e21ae6bc17395a17f86319c046 Reviewed-on: https://chromium-review.googlesource.com/1117075Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54084}
-
- 27 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
We currently store the protected instructions per code object in a {std::unique_ptr<std::vector<ProtectedInstructionData>>}. This wastes memory, because it requires two heap allocations, plus the vector might over-allocate (and it currently does, because it is filled dynamically during compilation). This CL changes that to store the protected instructions in an {OwnedVector}. This requires one copy after generating the list of {ProtectedInstructionData} in an {std::vector} during compilation, but saves memory afterwards. R=mstarzinger@chromium.org Bug: chromium:856938 Change-Id: Ie290a17dc32f27fbbfe0c000a52297181c954550 Reviewed-on: https://chromium-review.googlesource.com/1116701Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54052}
-
- 22 Jun, 2018 2 commits
-
-
Michael Starzinger authored
This changes the WebAssembly pipeline to no longer expect source position tables for {WasmCode} to be allocated on the GC'ed heap. R=clemensh@chromium.org BUG=v8:7721 Change-Id: Ib2c6e3d0840e47b83809f60519c0d1b94af186af Reviewed-on: https://chromium-review.googlesource.com/1109686 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53961}
-
Clemens Hammacher authored
This prologue is not needed any more now that we have the jump table. If optimized code exists, we will not even enter the Liftoff code any more, but instead jump to the optimized code right away. This also allows to remove the {WASM_CODE_TABLE_ENTRY} relocation info kind. R=mstarzinger@chromium.org Bug: v8:7758 Change-Id: I0449693d7434088fb264104fe59365d7ca2b74c6 Reviewed-on: https://chromium-review.googlesource.com/1110222Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53954}
-
- 20 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
The reference to the {NativeModule} (stored in a {Managed}) should live on the {WasmModuleObject}, not on the individual {WasmCompiledModule} objects. R=titzer@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I21dfa088c9643d36d9fd5052a145e7e2af5e47f9 Reviewed-on: https://chromium-review.googlesource.com/1106380 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53860}
-
- 04 Jun, 2018 1 commit
-
-
Deepti Gandluri authored
Change-Id: Id6f87f55541eba44a22be2721f9182095ca69359 Reviewed-on: https://chromium-review.googlesource.com/1085508Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#53501}
-
- 18 May, 2018 1 commit
-
-
Clemens Hammacher authored
When processing imports of an instance, we were storing pointers to exported (and re-imported) wasm functions in the code table of the importing module. This is dangerous since imports are instance specific. Avoid ever storing call targets for imports in the NativeModule. Instead, read the call targets from the imports table of the instance. R=mstarzinger@chromium.org Bug: chromium:843563 Change-Id: Id9f43a6c127025a5feaa81b2be75c001bc0bea81 Reviewed-on: https://chromium-review.googlesource.com/1065774 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53256}
-
- 07 May, 2018 1 commit
-
-
Clemens Hammacher authored
Define simple accessors in the header and give them lower case names. R=mstarzinger@chromium.org Bug: v8:7570 Change-Id: I2914013fdea2218189275bbaa9f98ea5de0ccd7c Reviewed-on: https://chromium-review.googlesource.com/1046546 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53024}
-
- 04 May, 2018 2 commits
-
-
Clemens Hammacher authored
On div and rem on ia32 and x64, we sometimes need to spill. If this spilling code happens inside of a branch, the cache state will reflect that the value was spilled, even though the actual spilling code might not have executed. R=titzer@chromium.org Bug: v8:6600, chromium:839800 Change-Id: I93b681a23119f903feb54235d6d44a7cbd5815fe Reviewed-on: https://chromium-review.googlesource.com/1044185Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52995}
-
Clemens Hammacher authored
Add binop tests for div and rem of i32 and i64. The test is extended to handle traps, and to check that the value of local variables is not affected by the operation. R=titzer@chromium.org Bug: v8:6600, chromium:839800 Change-Id: I1a4cbc40bd399666d9831d021afb96e0c53a9f64 Reviewed-on: https://chromium-review.googlesource.com/1044166Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52989}
-
- 27 Apr, 2018 1 commit
-
-
Eric Holk authored
Bug: v8:7704, v8:7570 Change-Id: I671f1355b9a95b0fcba56ac5fb3669b4563652dc Reviewed-on: https://chromium-review.googlesource.com/1033543 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#52868}
-