- 19 Jun, 2018 3 commits
-
-
Junliang Yan authored
Port 825c7481 R=tebbi@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: If067828166e44b99f48add7e929d6be8b585f34b Reviewed-on: https://chromium-review.googlesource.com/1106877Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53856}
-
Sigurd Schneider authored
If a call to a builtin is generated at run-time (vs at snapshot time) we don't need to tag the call/jump with relocation info, as the builtin address will not change. The only way to generate a builtin call at snapshot time is via MacroAssembler::JumpToInstructionStream where we keep OFF_HEAP_TARGET. The reloc info for builtin calls and jumps is set to NONE. Bug: v8:6666 Change-Id: I9e8ad9f23481a2177e69352a56010084336402e7 Reviewed-on: https://chromium-review.googlesource.com/1105758 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53835}
-
Clemens Hammacher authored
This also restores some uniformity in these headers. R=mstarzinger@chromium.org Change-Id: Ic3a941bce287596f564ba9f87f3a8ca2c46c2ee2 Reviewed-on: https://chromium-review.googlesource.com/1105763Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53831}
-
- 18 Jun, 2018 1 commit
-
-
Igor Sheludko authored
This CL also adds macros for defining JS-compatible interface descriptors that has additional parameters. ArrayConstructorDescriptor is redefined using the new macros. Bug: v8:7754 Change-Id: Id39cac9f234666576f35de755d11aba198248bea Reviewed-on: https://chromium-review.googlesource.com/1100833 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53796}
-
- 14 Jun, 2018 2 commits
-
-
Clemens Hammacher authored
This is a reland of 0909dbe3. Added missing V8_EXPORT_PRIVATE to AndroidLogStream. TBR=mstarzinger@chromium.org Original change's description: > Introduce StdoutStream which prints to Android log or stdout > > The often used construct {OFStream(stdout)} does not work on Android. > This CL introduces an {StdoutStream} which behaves exactly like > {OFStream(stdout)} on non-android platforms, and redirects to the > Android log on appropriate systems and configurations. > > R=mstarzinger@chromium.org > > Bug: v8:7820 > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b > Reviewed-on: https://chromium-review.googlesource.com/1088911 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53692} Bug: v8:7820 Change-Id: I8164bad78a401dbe4246c9ffcacd050fe511ed58 Reviewed-on: https://chromium-review.googlesource.com/1100636Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53733}
-
Michael Achenbach authored
This reverts commit 0909dbe3. Reason for revert: Blocks roll: https://chromium-review.googlesource.com/c/chromium/src/+/1099143 Original change's description: > Introduce StdoutStream which prints to Android log or stdout > > The often used construct {OFStream(stdout)} does not work on Android. > This CL introduces an {StdoutStream} which behaves exactly like > {OFStream(stdout)} on non-android platforms, and redirects to the > Android log on appropriate systems and configurations. > > R=mstarzinger@chromium.org > > Bug: v8:7820 > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b > Reviewed-on: https://chromium-review.googlesource.com/1088911 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53692} TBR=mstarzinger@chromium.org,jarin@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org Change-Id: Iadadd9a0df10dca0fad647138a83db50148e864d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7820 Reviewed-on: https://chromium-review.googlesource.com/1100635Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#53725}
-
- 13 Jun, 2018 5 commits
-
-
Junliang Yan authored
Port 98d7b23e Original Commit Message: This uses a WebAssembly runtime stub for the out-of-line {DoubleToI} computation instead of a builtin specific to a certain Isolate. It is another step towards making {WasmCode} independent of the Isolate. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:7424 LOG=N Change-Id: I2f78432134ea150bb00bea339a6e71c11aa625b0 Reviewed-on: https://chromium-review.googlesource.com/1099877Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53723}
-
Ben L. Titzer authored
Lift the declaration of the heap allocation request list and the method which adds to the list up to AssemblerBase. Change-Id: I099260425af8cb579144998c71c538f19ba00e65 Reviewed-on: https://chromium-review.googlesource.com/1098959Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53708}
-
Creddy authored
Use DEFINE_FIELD_OFFSET_CONSTANTS to describe AllocationSite fields Change-Id: I03ae84e1f4720da9da7e2a8a784f56fe6f155e18 Reviewed-on: https://chromium-review.googlesource.com/1095308Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#53696}
-
Georgia Kouveli authored
Replace all uses of Deoptimizer::BailoutType and CodeEventListener::DeoptKind with DeoptimizeKind from src/globals.h. Change-Id: I5b9002583a69bc43d995cacc7619b018e5a70727 Reviewed-on: https://chromium-review.googlesource.com/1097331 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#53695}
-
Clemens Hammacher authored
The often used construct {OFStream(stdout)} does not work on Android. This CL introduces an {StdoutStream} which behaves exactly like {OFStream(stdout)} on non-android platforms, and redirects to the Android log on appropriate systems and configurations. R=mstarzinger@chromium.org Bug: v8:7820 Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b Reviewed-on: https://chromium-review.googlesource.com/1088911Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53692}
-
- 12 Jun, 2018 3 commits
-
-
Junliang Yan authored
Port 13fc4a1b Original Commit Message: External references located within the isolate can be loaded as a fixed offset from the root register. This avoids one load from memory over the default indirect method (which reads from the external reference table). R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4a02973a0279517ab5247f4f9519b0e26168c444 Reviewed-on: https://chromium-review.googlesource.com/1097628Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53680}
-
Igor Sheludko authored
This is a necessary cleanup before porting Array[No,Single,N]ArgumentsConstructor builtins to CSA. Bug: v8:5269, v8:7703 Change-Id: I40a2dd83faab1f8c3c180d461ef62fa4d8578f5e Reviewed-on: https://chromium-review.googlesource.com/1097079 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53671}
-
jgruber authored
Indirections for external references are now handled completely in macro assemblers, which can produce more efficient code. Bug: v8:6666 Change-Id: I158f2e2517e2d97a1006cec6e3b4ac3a7ef3fab6 Reviewed-on: https://chromium-review.googlesource.com/1095307 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53666}
-
- 11 Jun, 2018 2 commits
-
-
Junliang Yan authored
Port 699a91f2 Original Commit Message: This class can contain members and functions common across all platforms. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id085de265e915d0cc3d7851153df53529545743b Reviewed-on: https://chromium-review.googlesource.com/1095735Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53650}
-
Michael Starzinger authored
This new scope allows to avoid emitting calls to {Builtin::kAbort} in debug code when requested, but still trap when the debug code fails. It can be used to keep generated code independent of builtins. R=jgruber@chromium.org Change-Id: I77864a1a10ec5b52bccfd76981ab5f4ff33bc727 Reviewed-on: https://chromium-review.googlesource.com/1095179 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53635}
-
- 08 Jun, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure that reloc entries with WASM_STUB_CALL mode can be shared within the constant pool. Call sites to such stubs never need to be patched individually and absolute addresses of such call targets can be shared when they are put into constant pools. This applies to ARM, ARM64 and PPC architectures only. R=clemensh@chromium.org BUG=chromium:850413 Change-Id: I657248f61f122f1a3d6d30ebd14326df45f67540 Reviewed-on: https://chromium-review.googlesource.com/1091055Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53603}
-
- 07 Jun, 2018 3 commits
-
-
Igor Sheludko authored
This CL introduces CSA::TailCallJSCode() for tail calling code objects with JSCall linkage. Bug: v8:5269, v8:7703 Change-Id: I97370dc4355dc658a9cd62166efcbe7f03d6daca Reviewed-on: https://chromium-review.googlesource.com/1087459 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53590}
-
Clemens Hammacher authored
Struct fields should not end in an underscore according to the style guide. Drive-by: Add {TurboAssembler} constructor which receives an {IsolateData} directly, to allow creating a {TurboAssembler} in a background thread. R=mstarzinger@chromium.org Change-Id: I32800476690f4c8619059519b7d27b06f5d4be95 Reviewed-on: https://chromium-review.googlesource.com/1090278 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53582}
-
Michael Starzinger authored
This makes all runtime calls compiled by Liftoff load the respective CEntry builtin from the instance object instead of embedding it into the instruction stream. Another step towards making the code independent of the originating Isolate. As a drive-by this also changes one implicit runtime call in the stack check in the TurboFan backend in a similar fashion. R=clemensh@chromium.org BUG=v8:7424 Change-Id: Ifab5995aa95250d6fae60ef5debb98aee2b6fc0c Reviewed-on: https://chromium-review.googlesource.com/1089067 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53578}
-
- 05 Jun, 2018 1 commit
-
-
Junliang Yan authored
Port e3e3480b Original Commit Message: The builtins table is an array of pointers to builtin code objects. It used to be located within the Builtins class, which itself was part of the Isolate. To enable faster isolate-independent access to builtin code objects, this CL moves the builtins table into the heap, at a constant known offset from the roots table. With this change, builtins can be accessed through the root pointer with a single instruction: mov reg, [kRootPointer, <offset to builtin>] TurboAssembler::LookupConstant is also extended in this CL to potentially shortcut the slow-ish constants table lookup: root constants are loaded through the root list, and builtin constants through the builtins table. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I1dac4ad30960d50f77aba7ec7da63b1f1259613d Reviewed-on: https://chromium-review.googlesource.com/1087410Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53532}
-
- 04 Jun, 2018 2 commits
-
-
Junliang Yan authored
Port c96ac82c Original Commit Message: This makes stack checks in WasmCode independent of the underlying Isolate by loading the limit address from the WasmInstanceObject instead of embedding it into the instruction stream. It hence removes the last use of the Isolate field from WasmGraphBuilder. Additionally this introduces the notion of a "runtime stub" which represents stub code global to the NativeModule that can be directly called from each WasmCode in the same module. These stubs can act as trampolines via which Isolate-independent WasmCode can enter other V8 builtins or runtime functions that remain Isolate-dependent. They will eventually replace the current "trampoline" in a NativeModule. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:7424 LOG=N Change-Id: I5745a20133c930aecb80119e71ac1d8717e267bf Reviewed-on: https://chromium-review.googlesource.com/1085276Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53503}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I0ea2e8db0e2b52a2edbd485d0cd52e94eea84d9e Reviewed-on: https://chromium-review.googlesource.com/1084487 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53499}
-
- 01 Jun, 2018 1 commit
-
-
Dan Elphick authored
Pass heap directly into RelocInfo::set_target_object and its calling functions to avoid HeapObject::GetHeap(). Bug: v8:7786 Change-Id: I516b8b2d80a86ba5aba70160290e78354bb9a7b8 Reviewed-on: https://chromium-review.googlesource.com/1080548Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53469}
-
- 31 May, 2018 1 commit
-
-
Junliang Yan authored
Port 53d4dfc3 Original Commit Message: Compress the parameter count (and function length) stored in SharedFunctionInfo to a uint16_t. This limits us to 2^16 - 1 parameters per function, minus one for the "don't adapt arguments" sentinel value, which is one fewer than Code::kMaxArguments was already. Anyway, 65534 arguments should be enough for anyone! This drops SFI size by 4 bytes. R=leszeks@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I23db04fd41ad577949cd8d45bab82c77019d9350 Reviewed-on: https://chromium-review.googlesource.com/1081450Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53464}
-
- 30 May, 2018 1 commit
-
-
Pierre Langlois authored
The MathPowInternal builtin is now only called directly from the code-generator. Also, this patch takes the opportunity to cleanup the builtin for arm and arm64 a little. Change-Id: If53edcecd42b227ef74ee817bc5d7fbbcea8b0e2 Reviewed-on: https://chromium-review.googlesource.com/1076127Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#53442}
-
- 29 May, 2018 4 commits
-
-
Junliang Yan authored
Port 75763183 Original Commit Message: The code slot of internal frames seems to be basically unused. As always, there are exceptions: 1. In elements.cc we check whether the current code object is the apply builtin. We can use a heap lookup through the frame's pc instead. 2. In isolate.cc we store a reference to the frame's code object to try and pack it into the minidump. This can safely be skipped. Remaining use-sites in frames.cc all skip INTERNAL frames by using the JavaScriptFrameIterator. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I3612b206f25b9e53645d2e1bc726a5e318a1f4be Reviewed-on: https://chromium-review.googlesource.com/1076505Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53427}
-
Junliang Yan authored
Port b2abe2cf Original Commit Message: This makes the WasmCompileLazy builtin push a new WASM_COMPILE_LAZY frame type. We can thereby remove the workaround to return a relocated instance from the underlying runtime function. It also removes the last remaining embedded code objects from {WasmCode} objects. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Icdc1ee06a1fade4bb805ae0fadf8219316731cd7 Reviewed-on: https://chromium-review.googlesource.com/1076529Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53426}
-
Junliang Yan authored
Port c52b7af5 R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I75ec0305f618336ce63fb664ae356dfcf48948c4 Reviewed-on: https://chromium-review.googlesource.com/1075468Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53417}
-
Tobias Nießen authored
This change fixes the usage message of arm, mips, mips64, ppc and s390 simulators. Change-Id: Ib00d3049cb1c81c2653ee8b66d21eabde8f16f76 Reviewed-on: https://chromium-review.googlesource.com/1059623Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53414}
-
- 28 May, 2018 2 commits
-
-
Junliang Yan authored
Port a55d8632 Original Commit Message: Its contents are now inlined into the one remaining call site. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: If0ba82784c0b9b095301e88141e1ff5b1fd507be Reviewed-on: https://chromium-review.googlesource.com/1075607Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53393}
-
Junliang Yan authored
Port 7d161e4d Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the InternalArrayConstructorStub to a builtin. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id16d4a5dc49d6832d5976aace17c33807270e50f Reviewed-on: https://chromium-review.googlesource.com/1074558Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53390}
-
- 26 May, 2018 1 commit
-
-
Junliang Yan authored
Port 111c5735 Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the ArrayConstructorStub to a builtin. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Icc6af15d80eb5c95a191832eb9636ebe97e61e07 Reviewed-on: https://chromium-review.googlesource.com/1074548Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53377}
-
- 25 May, 2018 3 commits
-
-
Junliang Yan authored
Port 0094defa Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the ArrayNArgumentsConstructorStub to a builtin. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ibf5e33cd14ef5baece9ddb660ab54b07233e8a20 Reviewed-on: https://chromium-review.googlesource.com/1073056Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53372}
-
Junliang Yan authored
Port 70cede39 Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves CallApiGetter and the 0/1 argument case of CallApiCallback to builtins. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I15677f91ad1f5cac05d4760f4cdd1561982a0621 Reviewed-on: https://chromium-review.googlesource.com/1073055Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53369}
-
Junliang Yan authored
Port 5674812c Original Commit Message: At runtime, calls to embedded builtins do not need to take the indirection through the off-heap trampoline. We can simply inline the trampoline instead. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4b18f3a957a41af28da34b503015271573949888 Reviewed-on: https://chromium-review.googlesource.com/1073193Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53366}
-
- 18 May, 2018 1 commit
-
-
Georgia Kouveli authored
This requires changing the way stubs and builtins are encoded in tags, as for arm64 we only have 26 bits to encode a PC-relative offset. With the previous encoding scheme the builtin ids were shifted by 16 bits and ended up exceeding this range. Change-Id: I0f396390a622ea67b890d2dd47ca12e00092e204 Reviewed-on: https://chromium-review.googlesource.com/1059209 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53262}
-
- 08 May, 2018 1 commit
-
-
Junliang Yan authored
Port d8131cd6 Original Commit Message: Stubs and builtins are very similar. The main differences are that stubs can be parameterized and may be generated at runtime, whereas builtins are generated at mksnapshot-time and shipped with the snapshot (or embedded into the binary). My main motivation for these conversions is that we can generate faster calls and jumps to (embedded) builtins callees from (embedded) builtin callers. Instead of going through the builtins constants table indirection, we can simply do a pc-relative call/jump. This also unlocks other refactorings, e.g. removal of CallRuntimeDelayed. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I193e4275470d492912a7d0f8523c3b8c29f1b146 Reviewed-on: https://chromium-review.googlesource.com/1050732 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53081}
-
- 07 May, 2018 1 commit
-
-
jgruber authored
Stubs and builtins are very similar. The main differences are that stubs can be parameterized and may be generated at runtime, whereas builtins are generated at mksnapshot-time and shipped with the snapshot (or embedded into the binary). My main motivation for these conversions is that we can generate faster calls and jumps to (embedded) builtins callees from (embedded) builtin callers. Instead of going through the builtins constants table indirection, we can simply do a pc-relative call/jump. This also unlocks other refactorings, e.g. removal of CallRuntimeDelayed. TBR=mlippautz@chromium.org Bug: v8:6666 Change-Id: I4cd63477f19a330ec70bbf20e2af8a42fb05fabb Reviewed-on: https://chromium-review.googlesource.com/1044245Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53027}
-
- 03 May, 2018 1 commit
-
-
Junliang Yan authored
Port 519bd47f Original Commit Message: With the exception of the InterpreterEntryTrampoline, all builtins are now isolate-independent and can be embedded into the binary. This CL updates the corresponding list and also contains a few smallish tweaks to support having these builtins off the heap: * wasm: copy the off-heap builtin, not its trampoline. * Code::contains: support off-heap builtins. * JSFunction::is_compiled: compare builtin index instead of identity (this is relevant during mksnapshot when we transition from the on-heap builtin to its off-heap representation + the trampoline). * Remove old DCHECKs. * A few tweaks in macro-assembler ports that have snuck in recently. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ib16ce35f5ebdade42720f536ac521c79e7c46778 Reviewed-on: https://chromium-review.googlesource.com/1042927Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#52973}
-