- 26 Mar, 2019 1 commit
-
-
Milad Farazmand authored
This reverts commit dd07cbcf. Change-Id: I3397af6d5c5cf2349b35c940eb46f4f9d2440a50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538904 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60463}
-
- 25 Mar, 2019 1 commit
-
-
Milad Farazmand authored
Port 6604f182 Original Commit Message: This CL adds handling for cleaning up weakmap (EphemeronHashTable) keys during scavenge, even if the weakmap resides in oldspace. Change-Id: Idf8b6115e57b1229864afefe6ffee85acb5e7547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538320Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60446}
-
- 19 Mar, 2019 1 commit
-
-
Junliang Yan authored
Port 1c154540 Original Commit Message: On LoadCodeObjectEntry check for IsOffHeapTrampoline instead of BuiltinIndexOffset so LoadCodeObjectEntry can correctly jump to the on-heap trampoline when we use --interpreted-frames-native-stack. R=mat@mmarchini.me, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, miladfar@ca.ibm.com BUG= LOG=N Change-Id: I12cb669743bc674bd4f151f4348f763c5bd73647 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1529258Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60332}
-
- 15 Mar, 2019 1 commit
-
-
Michael Starzinger authored
This slot has become obsolete now that all CEntry stubs are builtins (which are part of the rootset) and no longer need to be kept alive explicitly by a slot in the frame. R=verwaest@chromium.org BUG=v8:8834 Change-Id: I7b791cc509ef800bcf7aa5faab31ddf35370f944 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520725Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60267}
-
- 12 Mar, 2019 1 commit
-
-
Hannes Payer authored
Bug: v8:8945 Change-Id: I14ca4b29f1b12ff95e718d431f65d88ab1238c53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511478Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60177}
-
- 08 Mar, 2019 1 commit
-
-
Pavel Medvedev authored
instead of forwarding template constructors for these classes introduced in edab9a20 commit. TurboAssemblerBase constructors were declared as public to make the inherited TurboAssembler, and MacroAssembler ctors also public. This fixes Visual C++ 2017 compile error, when the template ctor in TurboAssemblerBase class matches deleted copy ctor. Bug: v8:8935 Change-Id: I1144a7025830c3a0ab86acaa8ea81def02d293b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1496977Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60114}
-
- 07 Mar, 2019 1 commit
-
-
Junliang Yan authored
Change-Id: I71a347673f656ba7cdb33d5094277f8cac6f4a7c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1508820 Auto-Submit: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60105}
-
- 25 Feb, 2019 1 commit
-
-
Junliang Yan authored
Port 591408cb Original Commit Message: We'll need one bit in the SharedFunctionInfo::flags to record whether it's safe to skip arguments adaptor frames (for v8:8895), so this just removes the SharedFunctionInfo::IsDerivedConstructorBit which is redundant, since the same information is already available in the SharedFunctionInfo::FunctionKindBits, and most places in the code use that already, with the exception of the JSConstructStubGeneric builtin. This changes the JSConstructStubGeneric builtin to just check the function kind instead of testing the explicit bit, which also makes this more consistent. It seems like there's not much overhead to that, doing an additional bitmasking plus two comparisons instead of one. This shouldn't really matter since invocation and execution of the constructors is going to dominate and optimized code inlines all of this anyways. If this turns out to affect performance, we can still look into encoding the FunctionKindBits more cleverly. the shift when accessing the function kind. This seems logic, since for the actual boolean bit fields it doesn't matter where they are in the flags, whereas for the function kind this saves one shift. R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, miladfar@ca.ibm.com BUG= LOG=N Change-Id: I4e3ba5a066285bf50e869c32228d79d26d57258f Reviewed-on: https://chromium-review.googlesource.com/c/1486411Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59837}
-
- 21 Feb, 2019 1 commit
-
-
Farazmand authored
Port adb7e37b Original Commit Message: In the Crankshaft days we (mis)used the Representation to also express the various internal representations that the compiler understands. But with TurboFan we now have proper MachineRepresentation and MachineType, which do that independently. So there's no need to have this in the Representation class anymore, and instead the Representation class only needs to deal with the field representations. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie3c8062786d5fd42872e22be01cea45d719ea0a4 Reviewed-on: https://chromium-review.googlesource.com/c/1479972Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59767}
-
- 15 Feb, 2019 2 commits
-
-
Junliang Yan authored
Port c142e0a2 Original Commit Message: Refactor the CallApiCallback builtin to - pass the context as with other stubs, and - pass holder and call data in registers. This avoids having to place holder and call data onto the stack, and thus makes it possible to easily call the CallApiCallback builtin from other builtins while just forwarding the (stack) arguments. The idea is to use this in the future to optimize the general case of calling into any API method via a FunctionTemplateInfo and doing appropriate security and/or interface checks upfront as necessary (eventually making the HandleApiCall C++ builtin obsolete at some point). R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, miladfar@ca.ibm.com BUG= LOG=N Change-Id: I94583d1e0fa7c4696e628c363fefe273c8c5cab9 Reviewed-on: https://chromium-review.googlesource.com/c/1475331Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59633}
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 13 Feb, 2019 3 commits
-
-
Junliang Yan authored
Bug: chromium:926235 Change-Id: I7af37f574c03439da34afc86cc8e6f49c3781579 Reviewed-on: https://chromium-review.googlesource.com/c/1470810 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59574}
-
Junliang Yan authored
Port c142e0a2 Original Commit Message: Refactor the CallApiCallback builtin to - pass the context as with other stubs, and - pass holder and call data in registers. This avoids having to place holder and call data onto the stack, and thus makes it possible to easily call the CallApiCallback builtin from other builtins while just forwarding the (stack) arguments. The idea is to use this in the future to optimize the general case of calling into any API method via a FunctionTemplateInfo and doing appropriate security and/or interface checks upfront as necessary (eventually making the HandleApiCall C++ builtin obsolete at some point). R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ic6c246bb28a6affa6fe015c1207c773b375a2b30 Reviewed-on: https://chromium-review.googlesource.com/c/1470443Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59562}
-
Nico Weber authored
For macros expanding to function definitions, I removed the spurious ; after macro invocations. For macros expandign to function declarations, I made the ; required and consistently inserted it. No behavior change. Bug: chromium:926235 Change-Id: Ib8085d85d913d74307e3481f7fee4b7dc78c7549 Reviewed-on: https://chromium-review.googlesource.com/c/1467545Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59558}
-
- 11 Feb, 2019 1 commit
-
-
Junliang Yan authored
Port 9e060e47 Original Commit Message: When BUILDING_V8_SHARED in release builds __declspec(dllexport) causes generation of implicit constructors in the forwarding class while its deleted in TurboAssemblerBase, which leads to compilation errors like: In file included from gen/v8/v8_base_jumbo_6.cc:41: In file included from .\../../v8/src/interface-descriptors.cc:7: In file included from ../../v8\src/macro-assembler.h:40: ../../v8\src/x64/macro-assembler-x64.h(92,9): error: call to deleted constructor of 'v8::internal::TurboAssemblerBase' : TurboAssemblerBase(std::forward<Args>(args)...) {} ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ../../v8\src/x64/macro-assembler-x64.h(536,25): note: in instantiation of function template specialization 'v8::internal::TurboAssembler::TurboAssembler<v8::internal::TurboAssembler>' requested here class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler { ^ ../../v8\src/turbo-assembler.h(127,34): note: 'TurboAssemblerBase' has been explicitly marked deleted here DISALLOW_IMPLICIT_CONSTRUCTORS(TurboAssemblerBase); ^ 1 error generated. The original changes were made in https://chromium-review.googlesource.com/c/v8/v8/+/1414913 R=hop2deep@gmail.com, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2a6e555b028583b89402b257e40757f34f3301c1 Reviewed-on: https://chromium-review.googlesource.com/c/1463179Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59499}
-
- 07 Feb, 2019 1 commit
-
-
Sigurd Schneider authored
Drive-by: Refactor FlushInstructionCache to its own header. This removes dependencies of objects.cc and code.cc Bug: v8:8562 Change-Id: If23f3b9d4f2068e08c61c0f4b070ecfe1b9a6cc0 Reviewed-on: https://chromium-review.googlesource.com/c/1456081Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59435}
-
- 06 Feb, 2019 1 commit
-
-
Sigurd Schneider authored
This unifies the RelocInfo::Visit method across architectures. Bug: v8:8562 Change-Id: I36fdfb2f456aebb4d69977bb84727c9b49b22f69 Reviewed-on: https://chromium-review.googlesource.com/c/1456106 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59423}
-
- 01 Feb, 2019 1 commit
-
-
Jakob Gruber authored
This basically adjusts reality to match our expectations. Methods based on Code::kConstantPoolOffset expected the constant pool to be located immediately following the handler table and before the code comments section, while it was actually emitted before the jump table. We did not notice earlier since this is only relevant on ppc. Bug: v8:8758 Change-Id: I189af491fe133a7dc480ff4056372ba7a27faa81 Reviewed-on: https://chromium-review.googlesource.com/c/1445880 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59299}
-
- 30 Jan, 2019 2 commits
-
-
Junliang Yan authored
Port ad3546ab Original Commit Message: This is an initial step towards clarifying the layout of the instruction area. As follow-ups, we should remove additional safepoint and handler table offset parameters, and perhaps alter Code::safepoint_table_offset (handler_table) semantics to always contain a real offset and avoid the magic 0 signifying nonexistent tables. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I6c2d3244710f8f3f33bcceb3988e19547f55fba0 Reviewed-on: https://chromium-review.googlesource.com/c/1446138Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59218}
-
Jakob Gruber authored
This is an initial step towards clarifying the layout of the instruction area. As follow-ups, we should remove additional safepoint and handler table offset parameters, and perhaps alter Code::safepoint_table_offset (handler_table) semantics to always contain a real offset and avoid the magic 0 signifying nonexistent tables. Bug: v8:8758 Change-Id: I9f54629ff3ddad69904b0e1ce2a58e047397aa15 Reviewed-on: https://chromium-review.googlesource.com/c/1434036 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59202}
-
- 28 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
Change-Id: I927eed8354fdb3eba2d8ab94caafa89b1ce02016 Reviewed-on: https://chromium-review.googlesource.com/c/1436019 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59115}
-
- 17 Jan, 2019 3 commits
-
-
Junliang Yan authored
Port edfb8cad Original Commit Message: Refactor all call sites to use the new API introduced in https://crrev.com/c/1411347 and remove the legacy constructors. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I5fea49f4d969edede114101314763d245e9a1fa1 Reviewed-on: https://chromium-review.googlesource.com/c/1417950Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58896}
-
Junliang Yan authored
Port edab9a20 Original Commit Message: and TurboAssembler. Instead of listing all the different combinations of arguments (which is one more now, temporarily), just forward all arguments down via MacroAssembler and TurboAssembler to TurboAssemblerBase. Interestingly, this requires more specific types sometimes (int instead of size_t), since further down the forwarding chain, the compiler does not recognize any more that the value is a constant, and emits a warning about a possibly truncating implicit conversion. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I6dddc58b81d020570087393158f4ad0f37efa9ce Reviewed-on: https://chromium-review.googlesource.com/c/1417379Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58889}
-
tzik authored
This updates the InterfaceDescriptor for JSRunMicrotasksEntry and RunMicrotasksTrampoline from DummyDescriptor to RunMicrotasksEntryDescriptor. Bug: v8:8124 Change-Id: I4522fd45bd18b33a2a4471b76c217d2a0f504cb0 Reviewed-on: https://chromium-review.googlesource.com/c/1412132 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58879}
-
- 16 Jan, 2019 1 commit
-
-
Junliang Yan authored
Port 1a3aab51 Original Commit Message: When generating an Assembler, you currently have two choices: Either let the Assembler allocate a growable internal buffer, which is owned by the Assembler. Or provide an externally allocated buffer, which cannot grow. This CL changes this interface to allow providing any implementation of a buffer. The provided buffer can be a view to an externally owned buffer, which still can grow. This will be used to split WebAssembly compilation and code submission. The buffer needs to be able to grow, but cannot be owned by the Assembler because it has to survive until the code is submitted. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id9383db813b13ea1d9eab485724aeb55b08cdfee Reviewed-on: https://chromium-review.googlesource.com/c/1416310Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58865}
-
- 15 Jan, 2019 1 commit
-
-
tzik authored
As a follow-up of https://crrev.com/c/1372857 that repordered the parameters of JSEntry, this CL updates JSEntry for S390 for new ordering. Bug: v8:8124 Change-Id: I7cd3b03b4000b40b157527174946af6d79f67065 Reviewed-on: https://chromium-review.googlesource.com/c/1405962 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58809}
-
- 14 Jan, 2019 1 commit
-
-
milad authored
Change-Id: Ibd2d9919ce47638debde8e59c10714c4836b9292 Reviewed-on: https://chromium-review.googlesource.com/c/1408388Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58801}
-
- 11 Jan, 2019 2 commits
-
-
Junliang Yan authored
Port 4ab96a9a Original Commit Message: Remove the use of a jump table in the prologue of the deopt entries and instead pass the bailout id explicitly in a register when calling the deopt entry routine from optimized code. This unifies the logic with the way the Arm64 code works. It saves the following amount of memory in code stubs: - arm: 384KB - ia32: 480KB - x64: 240KB This could be offset by a slight increase in the size of optimized code for loading the immediate, however this impact should be minimal and will scale with the maximum number of bailout ids (e.g., the size of code will increase by one instruction per bailout id on Arm, therefore ~98,000 bailouts will be needed before the overhead is greater than the current fixed table size). R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id5762334b21e6a91e5ce44b7db1e38ace9147372 Reviewed-on: https://chromium-review.googlesource.com/c/1406026 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58752}
-
Jakob Gruber authored
As far as I can tell these were unused; their only callers were arm and ppc simulators, but codegen explicitly returned nullptr if in a simulator build, falling back to std::sqrt. There's more potential cleanup to be done here for other functions defined in codegen-*.cc files. Tbr: clemensh@chromium.org Bug: v8:7777, v8:8675 Change-Id: I4b9d6062c6724a810ab094d09e3cd04a0b733d9b Reviewed-on: https://chromium-review.googlesource.com/c/1405851Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58740}
-
- 08 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
The two names refer to the same thing by now, so this patch is entirely mechanical. Bug: v8:3770 Change-Id: Ia360c06c89af6b3da27fd21bbcaeb2bdaa28ce22 Reviewed-on: https://chromium-review.googlesource.com/c/1397705Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58615}
-
- 07 Jan, 2019 2 commits
-
-
Junliang Yan authored
R=joransiu@ca.ibm.com Drive-by: clean up the macro on s390x since it's not used. Change-Id: I317508c1f8a1520ee8873b4323cacd63b8a7cce2 Reviewed-on: https://chromium-review.googlesource.com/c/1398121Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58599}
-
Junliang Yan authored
Port ccc068d5 Original Commit Message: This CL does two things: 1. It introduces Call/JumpCodeObject as the bottleneck for all calls to non-heap-constant Code objects; and 2. it dispatches directly to the off-heap entry point for all embedded code. Codegen at runtime remains unchanged to preserve the shorter, branch-less calling sequence. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I282a5711fdd481a1fde3569e72f0a6141ebcdf2a Reviewed-on: https://chromium-review.googlesource.com/c/1396501 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58596}
-
- 03 Jan, 2019 4 commits
-
-
Junliang Yan authored
Port 9302db48 Original Commit Message: Merging the temporary HeapObjectPtr back into HeapObject. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4f92282b7b4c66bb73da30e076a8378e0cf24836 Reviewed-on: https://chromium-review.googlesource.com/c/1394813Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58534}
-
Junliang Yan authored
Port f1cb51ad Original Commit Message: instead of Object* (which is deprecated) or ObjectPtr (which is unsuitable for cases where we need to control the ABI exactly). Callers in generated code expect a plain tagged value, so return precisely that. Same for C++ Builtins. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I8055c9a9c99dbe8716f810c6b6cc1967bed9c3de Reviewed-on: https://chromium-review.googlesource.com/c/1393920Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58531}
-
Junliang Yan authored
Port fa3cbf60 Original Commit Message: This changes Torque's builtin pointers to use a Smi representation underneath instead of storing the Code target object. Callsites look up the target entry point through IsolateData::builtin_entry_table. The notable effect of this CL is that builtin pointer calls no longer call any on-heap Code. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I49bb08de916fd93e576936a56b0e1a0e21072289 Reviewed-on: https://chromium-review.googlesource.com/c/1394301Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58530}
-
Junliang Yan authored
Port f323a5f4 Original Commit Message: Currently, Torque's builtin pointers store a Code target underneath and callsites generate a kArchCallCodeObject opcode. When embedded builtins are enabled, the call thus first calls the on-heap trampoline, which finally jumps to the target off-heap builtin code. This will no longer be possible in jitless mode, since on-heap code must not be executable. As a step towards changing the way builtin pointers are called (function pointers will hold the builtin index as a Smi, and callsites look up the off-heap target address and jump there), this CL adds a dedicated opcode for builtin pointer calls to the compiler pipeline. The calling mechanism itself is unchanged, changes there will happen in a follow-up. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2d2229227e1c62e7c2515d4f5cb3d4dae49b3dd4 Reviewed-on: https://chromium-review.googlesource.com/c/1393913Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58525}
-
- 02 Jan, 2019 3 commits
-
-
Junliang Yan authored
Port 24e76616 Original Commit Message: This is a reland of f849396c Original change's description: > [nojit] Remove code stubs > > All stubs have been migrated to builtins. This CL removes most related > code. > > Bug: v8:7777, v8:5784 > Change-Id: I4470cfef34788e6c8e0fd5fd09e40e250d088dad > Reviewed-on: https://chromium-review.googlesource.com/c/1365284 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58093} R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie05463245c24975804a8bb7ffdf902c70e042127 Reviewed-on: https://chromium-review.googlesource.com/c/1393302Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58504}
-
Junliang Yan authored
Port b89d4249 Original Commit Message: This migrates the JSEntryStub to three dedicated builtins: JSEntry JSConstructEntry JSRunMicrotasksEntry correct macro assembler method to load and store external references through the kRootRegister). kRootRegister is initialized, so we first reserve the slot and later load its value. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ib84feca5e88d032307b5fab42377c56d074faf7f Reviewed-on: https://chromium-review.googlesource.com/c/1393296Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58503}
-
Junliang Yan authored
Port f7f18b0f Original Commit Message: In preparation for converting JSEntry into a builtin. The root register used to be initialized by an embedded external reference, which is not isolate-independent. Pass in its value explicitly instead. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I447c880c7f840a012e53870e28e2bd3bfa552040 Reviewed-on: https://chromium-review.googlesource.com/c/1393288 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58499}
-
- 26 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Tbr: ahaas@chromium.org,leszeks@chromium.org,verwaest@chromium.org Bug: v8:3770 Change-Id: Ia6530fbb70dac05e9972283781c3550d8b50e1eb Reviewed-on: https://chromium-review.googlesource.com/c/1390116 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58470}
-