- 04 Apr, 2018 2 commits
-
-
Ben Titzer authored
This reverts commit 57bf0bfe. Reason for revert: <INSERT REASONING HERE> Original change's description: > [wasm] Merge the WasmContext into WasmInstanceObject > > This change makes lifetime management of WasmCode much simpler. > By using the WasmInstanceObject as the context for WASM code execution, > including the pointer to the memory base and indirect function tables, > this keeps the instance alive when WASM code is on the stack, since > the instance object is passed as a parameter and spilled onto the stack. > This is in preparation of sharing the code between instances and > isolates. > > Bug: v8:7424 > > Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e > Reviewed-on: https://chromium-review.googlesource.com/958520 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52361} TBR=mstarzinger@chromium.org,titzer@chromium.org,ahaas@chromium.org,clemensh@chromium.org Change-Id: I653e27b46dbc43ad773eda4292d521a508f42d79 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7424 Reviewed-on: https://chromium-review.googlesource.com/995418Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52364}
-
Ben L. Titzer authored
This change makes lifetime management of WasmCode much simpler. By using the WasmInstanceObject as the context for WASM code execution, including the pointer to the memory base and indirect function tables, this keeps the instance alive when WASM code is on the stack, since the instance object is passed as a parameter and spilled onto the stack. This is in preparation of sharing the code between instances and isolates. Bug: v8:7424 Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e Reviewed-on: https://chromium-review.googlesource.com/958520 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52361}
-
- 03 Apr, 2018 1 commit
-
-
Ben Smith authored
This is a follow-up to https://chromium-review.googlesource.com/981687. When a wasm function has a large stack frame, the x64 code generator performs the stack overflow check before constructing the frame. This requires the use of the `address_of_real_stack_limit` external reference. This reference is thread local, so if it is not relocated the stack overflow check will always fail. Bug: chromium:808848 Change-Id: I0edf3fe5a006242fc50d0bff44cd9dd0e7d85bd9 Reviewed-on: https://chromium-review.googlesource.com/982906 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52330}
-
- 27 Mar, 2018 1 commit
-
-
Ben Smith authored
When a wasm function has a large stack frame, the x64 code generator performs the stack overflow check before constructing the frame. This requires using the `address_of_real_stack_limit` external reference, as well as the `ThrowWasmStackOverflow` runtime function. `ThrowWasmStackOverflow` is called via a generated trampoline, but it is not a builtin, so the serializer adds it to the `stub_lookup_` map. This map is encoded by using a monotonically increasing `stub_id` that starts at 0. When the function is serialized, a stub is differentiated from a builtin by which half of the `i32` bits is used, upper or lower. A stub only uses the lower 16 bits and a builtin only uses the upper 16 bits. The deserializer checks whether the lower 16 bits are 0; if so, it is determined to be a builtin. But if the `stub_id` is 0, then it will be confused with builtin 0 (`RecordWrite`). Calling the builtin instead of the stub causes a crash. This CL starts all `stub_id`s at 1, which prevents the builtin/stub confusion. There is an additional bug that is not fixed by this CL: `ThrowWasmStackOverflow` shouldn't be called at all. Currently it is called because `address_of_real_stack_limit` is a thread-local value that is not properly relocated. Bug: chromium:808848 Change-Id: I06b3e650ea58ad717dcc47a3716443e16582e711 Reviewed-on: https://chromium-review.googlesource.com/981687Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#52252}
-
- 26 Mar, 2018 1 commit
-
-
jgruber authored
This removes one level of indirection from loading external references, which can now be accesses through the root pointer with a single load: [kRootPointer + <offset from root list to desired offset in table>] Bug: v8:6666 Change-Id: I927634993920828ff48621a0e17e5f3099782917 Reviewed-on: https://chromium-review.googlesource.com/971041 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52211}
-
- 24 Mar, 2018 1 commit
-
-
Michael Achenbach authored
This reverts commit 5dca2bd7. Reason for revert: Breaks roll: https://chromium-review.googlesource.com/c/chromium/src/+/977945 Original change's description: > Force proper code aligment in wasm serializer. > > Change-Id: Iace7040f7327cbc76e75a0cd7229221c93a9456e > Reviewed-on: https://chromium-review.googlesource.com/975547 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> > Cr-Commit-Position: refs/heads/master@{#52174} TBR=ahaas@chromium.org,ivica.bogosavljevic@mips.com,ivo.markovic@mips.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: If8d2b66573b9c39fdf5e6e4faf399ecde7005e6e Reviewed-on: https://chromium-review.googlesource.com/979532Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52201}
-
- 23 Mar, 2018 2 commits
-
-
Michael Starzinger authored
This moves source position tables associated with WasmCode objects to be located outside the garbage-collected heap. There now is a clear link to the source position table from code, making the one-to-one relationship and its lifetime explicit. R=ahaas@chromium.org BUG=v8:7424 Change-Id: I9d0b332732508c302ba525059ef02559f45aa2f6 Reviewed-on: https://chromium-review.googlesource.com/975565 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52178}
-
Ivo Markovic authored
Change-Id: Iace7040f7327cbc76e75a0cd7229221c93a9456e Reviewed-on: https://chromium-review.googlesource.com/975547Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52174}
-
- 22 Mar, 2018 2 commits
-
-
Mostyn Bramley-Moore authored
https://chromium-review.googlesource.com/971881 triggered jumbo build failures due to a collision between the FlushICache functions in module-compiler.cc and the FlushICache enum. If we move the enum inside the WasmCode class we can disambiguate references to it. Change-Id: Icd389ba8abf6afefc4a8aa53887779f4d1357dd2 Reviewed-on: https://chromium-review.googlesource.com/974261 Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52144}
-
Michael Starzinger authored
The tagging logic used for serializing and deserializing WasmCode objects is by now only used in the "wasm-serialization.cc" unit. R=clemensh@chromium.org Change-Id: I31bd82e7dbd17f713c5e51073dfd9836f1ddaed7 Reviewed-on: https://chromium-review.googlesource.com/975303Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52140}
-
- 21 Mar, 2018 1 commit
-
-
Clemens Hammacher authored
Code is often being patched after creating, thus we don't need to flush the icache right away. This CL introduces a new enum to specify whether the icache should be flushed or not, and uses this in all methods which don't always need to flush. Drive-by: Fix a but where SKIP_ICACHE_FLUSH was interpreted as boolean value. R=mstarzinger@chromium.org Change-Id: I13ac71d2a7168a065b8a4a1086c590816de8ca28 Reviewed-on: https://chromium-review.googlesource.com/971881Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52102}
-
- 15 Mar, 2018 1 commit
-
-
Ben L. Titzer authored
- Rename WasmCode::owner() to WasmCode::native_module() and - Make {shared} field of WasmCompiledModule no-longer const, since it had a setter masquerading under the {OnWasmModuleDeserialization()}. - Refactor and simplify the flow of "owner" in module-compiler.cc R=mstarzinger@chromium.org Change-Id: If9ee371124678fbbc845fc4e93279bf14f8f7ce8 Reviewed-on: https://chromium-review.googlesource.com/964263Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51959}
-
- 14 Mar, 2018 1 commit
-
-
Junliang Yan authored
- Update CodeSpecialization::RelocateDirectCalls and ApplyToWholeInstance to take a native module instead - Use CodeSpecialization on NativeModule::LinkAll Bug: v8:7539 Change-Id: I71ceb3114e8a0fca71dfa32f0721ef5fb4485eb4 Reviewed-on: https://chromium-review.googlesource.com/959592 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51937}
-
- 13 Mar, 2018 1 commit
-
-
Georgia Kouveli authored
Change-Id: I6504174103af71cba65a078d1918cddd748c6067 Reviewed-on: https://chromium-review.googlesource.com/934283Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#51908}
-
- 12 Mar, 2018 2 commits
-
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:7549 Change-Id: I90bd4cf8ed31f46d475cd46de868e483c84c6aba Reviewed-on: https://chromium-review.googlesource.com/959013Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51889}
-
Michael Starzinger authored
The feature in question has been enabled by default for a while and we no longer need to maintain a configuration without it enabled. Note that this change only removes the mechanical pieces. Further cleanup enabled by this will be done as follow-ups. R=clemensh@chromium.org BUG=v8:7549 Change-Id: I90e5bcddabe74a18a4d2a88132e8dc93317bcff4 Reviewed-on: https://chromium-review.googlesource.com/958424 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51883}
-
- 06 Mar, 2018 1 commit
-
-
Junliang Yan authored
R=mstarzinger@chromium.org Change-Id: I77356a84a89ff94dc5516e3507e11d0b5c429107 Reviewed-on: https://chromium-review.googlesource.com/951927Reviewed-by: Eric Holk <eholk@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#51778}
-
- 05 Mar, 2018 3 commits
-
-
Clemens Hammacher authored
Minor cleanup: Instead of a cryptic memcpy, just use ReadUnalignedValue and WriteUnalignedValue. Also add DCHECKs to these helpers to ensure that they are only used for trivially copyable types. R=ahaas@chromium.org Bug: v8:7310 Change-Id: Id5014a828573f8d13a6c3a5380eae2f377e8f130 Reviewed-on: https://chromium-review.googlesource.com/948544Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51740}
-
Michael Starzinger authored
R=jgruber@chromium.org BUG=v8:7509 Change-Id: If5f7829c4f42e6cb2a8f39d2ddb92a6b024c3506 Reviewed-on: https://chromium-review.googlesource.com/948492Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51734}
-
Michael Starzinger authored
This makes sure that the object can be identified by a unique instance type and hence is not accidentally confused with other FixedArrays on the heap. R=clemensh@chromium.org BUG=v8:7509 Change-Id: I20521cdcabbbddecd89ca8cd4bb203a47e1db0cd Reviewed-on: https://chromium-review.googlesource.com/946253Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51730}
-
- 01 Mar, 2018 1 commit
-
-
Kim-Anh Tran authored
Bug: v8:7310 Change-Id: I87bdb640a3c006a268974b34808f184307badeb2 Reviewed-on: https://chromium-review.googlesource.com/934243 Commit-Queue: Kim-Anh Tran <kimanh@google.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51644}
-
- 27 Feb, 2018 1 commit
-
-
Michael Starzinger authored
This changes the encoding of the {HandlerTable} from an array of Smi values to a byte array. It allows embedding of said array into the instruction stream of {Code} objects (similar to how safepoint tables work). For interpreted bytecode the table is attached as a {ByteArray} to the bytecode. The advantage of this approach is a more compact encoding and also the ability to move such tables easily off the GC'ed heap if needed (as is done for WebAssembly code for example). R=jarin@chromium.org Change-Id: I3320415dff69b3d1053825bda0d667a28232bf6d Reviewed-on: https://chromium-review.googlesource.com/934642 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51589}
-
- 23 Feb, 2018 1 commit
-
-
Ben L. Titzer authored
R=ahaas@chromium.org Bug: v8:7310 Change-Id: I7f4f4f7990a202232a0871f5d73dd8025306e96e Reviewed-on: https://chromium-review.googlesource.com/934262 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#51508}
-
- 21 Feb, 2018 1 commit
-
-
Ben L. Titzer authored
This CL changes the WASM implementation to access indirect function tables through the WasmContext, whereas previously indirect function tables and their sizes were constants that were inlined into compiled into code, requiring code patching. This is a necessary step for sharing code between instances and eventually, isolates. R=clemensh@chromium.org,mstarzinger@chromium.org Bug: v8:7424 Change-Id: Ida4138ed92729730dfbc0a81a84d8484b233d808 Reviewed-on: https://chromium-review.googlesource.com/895683 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51427}
-
- 13 Feb, 2018 1 commit
-
-
Michael Starzinger authored
Now that instruction cache flushing is process-wide and no longer bound to a specific {Isolate}, we can also make setters on the {RelocInfo} structure equally independent of the {Isolate} and remove the respective parameter everywhere. R=ahaas@chromium.org Change-Id: I7b21f6f79d0d6cf73424019b9e808c3ec76de08e Reviewed-on: https://chromium-review.googlesource.com/915922Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51269}
-
- 05 Feb, 2018 1 commit
-
-
Choongwoo Han authored
Bug: chromium:808980 Change-Id: I7a89c6e30f473821f676fd5771365103072c78f1 Reviewed-on: https://chromium-review.googlesource.com/901306Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51099}
-
- 23 Jan, 2018 1 commit
-
-
Michael Starzinger authored
This fixes a corner-case where deserialization of a module containing multiple exported functions of the same signature forgot to properly unprotect the code-space. Test coverage has been added. R=clemensh@chromium.org TEST=mjsunit/wasm/compiled-module-serialization BUG=chromium:804767 Change-Id: I0082303db19bcc14c4de30f29d604665e281d79d Reviewed-on: https://chromium-review.googlesource.com/880844Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50799}
-
- 22 Jan, 2018 1 commit
-
-
Michael Starzinger authored
This removes the field in question to make it simpler to serialize and deserialize modules without having to worry about the state of lazy compilation. It is always possible to clone a non-anonymous builtin, even without having this module-wide field. R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-803427 BUG=chromium:803427 Change-Id: I72041e314eb6ee92859d45f1db0ed8500003edc4 Reviewed-on: https://chromium-review.googlesource.com/878581 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50771}
-
- 16 Jan, 2018 1 commit
-
-
Clemens Hammacher authored
Both tables are always updated together and are always accessed together. Thus merge them, reducing code complexity, but also code space and overhead for accessing them during runtime. Instead of two weak global handles, we only need one, which also means one less load for each indirect call. Merging them also improves cache locality, since signature and code address are not stored next to each other in memory, so they will very likely end up in the same cache line. R=titzer@chromium.org Change-Id: I862df7de93a98aa602a3895796610c2c520d6f21 Reviewed-on: https://chromium-review.googlesource.com/866868 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50623}
-
- 15 Jan, 2018 1 commit
-
-
Michael Starzinger authored
This fixes a corner-case in the {NativeModuleSerializer} with modules that do not contain any functions in the code table. R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-801850 BUG=chromium:801850 Change-Id: I30cc3a26f30d8653fba2d7b99715830d12300ac2 Reviewed-on: https://chromium-review.googlesource.com/866773Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50581}
-
- 11 Jan, 2018 1 commit
-
-
Michael Starzinger authored
This funnels all serialization and deserialization calls through the common interface in the wasm-serialization.h file. All call sites are now uniform, independent of the --wasm-jit-to-native feature. R=titzer@chromium.org BUG=v8:6876 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I105907acfeba4b0e277b2003d099c5db6ab59dd3 Reviewed-on: https://chromium-review.googlesource.com/860042Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50501}
-
- 10 Jan, 2018 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I84788f60f531c2faeadad74987ac7af72db10cc0 Reviewed-on: https://chromium-review.googlesource.com/859778Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50479}
-
- 09 Jan, 2018 1 commit
-
-
Ben L. Titzer authored
This CL simply moves the implementation classes for WASM native module serialization into the CC file and simplifies them a bit. R=mstarzinger@chromium.org Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Id560d2c35eb12bdd461f5d80cb5211a2f4f51684 Reviewed-on: https://chromium-review.googlesource.com/856677Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50434}
-
- 12 Dec, 2017 1 commit
-
-
Mircea Trofin authored
Corrected mips code generation for WASM_CALL and JS_TO_WASM_CALL. The logic for fetching raw call sites needed changing, too, in light of mips' 2-instruction calls, where using target_address_address is incorrect. The CL adds platform-specific accessors. Bug: chromium:793292 chromium:793282 Change-Id: I879ea6bffdad60791d88a6f5ea15087cdcd3f2e9 Reviewed-on: https://chromium-review.googlesource.com/818460Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50037}
-
- 08 Dec, 2017 1 commit
-
-
Ivica Bogosavljevic authored
Some buildbots were not compiling due to error `chosen constructor is explicit in copy-initialization` Bug: Change-Id: I24b8f1c4467e05e2832d8252a4cfe7352e1e91da Reviewed-on: https://chromium-review.googlesource.com/813758 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49962}
-
- 07 Dec, 2017 1 commit
-
-
Karl Schimpf authored
The previous code assumed that trap handling was a global concept, defined by function trap_handler::UseTrapHandler(). This CL does the first step in changing the decision to be specifiable at a module level. Therefore trap_handler::UseTrapHandler() is replaced by trap_handler::IsTrapHandlerEnabled(), and communicates if compilation supports the use of trap handlers (but still allowing the use of bounds checking on memory accesses). It then refactors the classes ModuleEnv and WasmCompiledModule to have a field "use_trap_handler" that specifies if traps should be used for the memory accesses in the module being compiled. Bug: v8:7143 Change-Id: I9844842d5721c86c2dd55e911b42bf8b9922cf63 Reviewed-on: https://chromium-review.googlesource.com/802322 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49915}
-
- 05 Dec, 2017 1 commit
-
-
Mircea Trofin authored
Rename to better capture what the files contain. Removed includes of wasm-code-manager.h from .h files to improve build time. Bug: Change-Id: I0f0108cfb00b061c4433b6ff9670e9c4cae9c699 Reviewed-on: https://chromium-review.googlesource.com/807368Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49875}
-
- 02 Dec, 2017 1 commit
-
-
Mathias Bynens authored
This patch normalizes the casing of hexadecimal digits in escape sequences of the form `\xNN` and integer literals of the form `0xNNNN`. Previously, the V8 code base used an inconsistent mixture of uppercase and lowercase. Google’s C++ style guide uses uppercase in its examples: https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters Moreover, uppercase letters more clearly stand out from the lowercase `x` (or `u`) characters at the start, as well as lowercase letters elsewhere in strings. BUG=v8:7109 TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6 Reviewed-on: https://chromium-review.googlesource.com/804294 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49810}
-
- 30 Nov, 2017 1 commit
-
-
Clemens Hammacher authored
According to the style guide, enum names they must either be capitalized, or start with a "k". I prefer the kFoo syntax. R=mtrofin@chromium.org Bug: v8:7109 Change-Id: I9c06c4cb05b05ec50de8d68d118f1a0807938426 Reviewed-on: https://chromium-review.googlesource.com/796856Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49733}
-
- 28 Nov, 2017 1 commit
-
-
Mircea Trofin authored
This reverts commit b301203e. Reason for revert: Fixed issues on arm. Original change's description: > Revert "[wasm] JIT using WasmCodeManager" > > This reverts commit d4c8393c. > > Reason for revert: Breaks ARM hardware: > https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268 > > Original change's description: > > [wasm] JIT using WasmCodeManager > > > > This is the first step towards wasm code sharing. This CL moves wasm > > code generation outside the JavaScript GC heap using the previously - > > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native > > flag). > > > > See design document: go/wasm-on-native-heap-stage-1 > > > > This CL doesn't change other wasm architectural invariants. We still > > have per-Isolate wasm code generation, and per-wasm module instance > > code specialization. > > > > Bug:v8:6876 > > > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3 > > Reviewed-on: https://chromium-review.googlesource.com/674086 > > Reviewed-by: Ben Titzer <titzer@chromium.org> > > Reviewed-by: Eric Holk <eholk@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#49689} > > TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org > > Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:6876 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/794690 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49691} TBR=bradnelson@chromium.org,machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org Change-Id: I1b07638d1bb2ba0664305b4b2dcfc1342dc8444f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6876 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/794434 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49692}
-