- 17 Jul, 2018 1 commit
-
-
Sigurd Schneider authored
kMaximalCodeRangeSize can be zero to indicate no limit, which was misinterpreted by mksnapshot. Bug: v8:6666 Change-Id: I512412a5ef866c0595654aa78c6761bc00b82c56 Reviewed-on: https://chromium-review.googlesource.com/1140057Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54486}
-
- 16 Jul, 2018 3 commits
-
-
Dan Elphick authored
Deprecate String::Utf8Length in favor of a new, similar function that takes the Isolate used for the String::Flatten call as an argument. BUG: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Icaf04b272679fd853e9cdbe6c7088f63e9aacb95 Reviewed-on: https://chromium-review.googlesource.com/1124724 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54476}
-
Camillo Bruni authored
- Log script sources with --log-function-events - Don't show confusing duration in graphs - Introduce separate compilation category - Log script details after deserialization - Log parse times for eval scripts - Display deserialized scripts and functions Change-Id: I58f3bf8efe3955632322f958716c36ad38761fd0 Bug: chromium:757467, chromium:850038 Reviewed-on: https://chromium-review.googlesource.com/1128082Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#54465}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Iab7210eaddb14c9ca8638cbc8d69206bbaf15462 Reviewed-on: https://chromium-review.googlesource.com/1134785Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54451}
-
- 13 Jul, 2018 1 commit
-
-
Michael Lippautz authored
This reverts commit 7bff339e. Reason for revert: Breaks autoroll, see bug. Bug: v8:7944 Original change's description: > Reland "[heap] Added External Strings to external memory accounting." > > This is a reland of 5863c0b6 > > Original change's description: > > [heap] Added External Strings to external memory accounting. > > > > Bug: chromium:845409 > > Change-Id: I3fe2b294f6e038d77787cf0870d244ba7cc20550 > > Reviewed-on: https://chromium-review.googlesource.com/1118164 > > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#54110} > > Bug: chromium:845409 > Change-Id: Ied341ec6268000343d2a577b22f2a483460b01f5 > Reviewed-on: https://chromium-review.googlesource.com/1121736 > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54410} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,petermarshall@chromium.org,rfbpb@google.com Change-Id: Ie55586e84f44a2d83c7f97110d60abb86f0730c5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1136312Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#54428}
-
- 12 Jul, 2018 3 commits
-
-
Rodrigo Bruno authored
This is a reland of 5863c0b6 Original change's description: > [heap] Added External Strings to external memory accounting. > > Bug: chromium:845409 > Change-Id: I3fe2b294f6e038d77787cf0870d244ba7cc20550 > Reviewed-on: https://chromium-review.googlesource.com/1118164 > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54110} Bug: chromium:845409 Change-Id: Ied341ec6268000343d2a577b22f2a483460b01f5 Reviewed-on: https://chromium-review.googlesource.com/1121736 Commit-Queue: Rodrigo Bruno <rfbpb@google.com> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54410}
-
Dan Elphick authored
Bug: v8:7786 Change-Id: If9615f5dffc40937f9f35a209730d530be6b424b Reviewed-on: https://chromium-review.googlesource.com/1134986Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54407}
-
Leszek Swirski authored
With ReadOnlyRoots and GetIsolate on JSReceiver, we can remove almost every isolate parameter from <Object>::Print. The remaining ones, like Map, are special-caseable for read-only maps, and as a result we can remove isolate parameters from <Object>::Print entirely. This patch also opportunistically cleans up a few places where isolates were only needed for Object::Print, such as TransitionAccessors and DescriptorArrays. TBR=yangguo@chromium.org,mstarzinger@chromium.org Bug: v8:7786 Change-Id: Id44bd53b9893e679eea5f37b9548257595a1bfd9 Reviewed-on: https://chromium-review.googlesource.com/1133385Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54401}
-
- 10 Jul, 2018 1 commit
-
-
Dan Elphick authored
Heap::InNewSpace only needs to access the heap for a DCHECK and the part that uses the heap only needs it if the object is in NEW_SPACE, in which case getting it via pointer magic is fine. Bug: v8:7786 Change-Id: Iaac237a3b8bcc9d55e436e3f972475e04b97f1f8 Reviewed-on: https://chromium-review.googlesource.com/1127798 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54345}
-
- 09 Jul, 2018 1 commit
-
-
Sigurd Schneider authored
This CL uses pc-relative jumps and calls (B/BL) for calls from embedded builtins to embedded builtins. To make this work, the code range size is limited to 32MB on arm during mksnapshot, which ensures that all builtin to builtin offsets for jumps/calls fit into the B/BL immediate. At code generation time, we put a placeholder into the instruction offset which we resolve to the right code object when the code is copied to the heap. We use a new relocation mode RELATIVE_CODE_TARGET for these relative jumps. The relocation mode RELATIVE_CODE_TARGET should never appear after generating the snapshot. We modify the target_address/set_target_address methods of RelocInfo such that they return the absolute target addresses for pc-relative B/BL instructions. This ensures that the GC can treat RELATIVE_CODE_TARGET in the same way as code targets. This, however, only matters during snapshot creation time, and production code never contains RELATIVE_CODE_TARGET relocations. Bug: v8:6666 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: If7eab83ad588859ca87c654a5ddc3e37caea884c Reviewed-on: https://chromium-review.googlesource.com/1117181Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54320}
-
- 05 Jul, 2018 5 commits
-
-
Alexey Kozyatinskiy authored
- rewritten couple tests, - migrated JSMessageObject to real Script instead of wrapper, - removed wrapper. R=yangguo@chromium.org TBR=ulan@chromium.org Bug: v8:5530 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ia95492344c7b5978a940e2ab007b389384537148 Reviewed-on: https://chromium-review.googlesource.com/1112851Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#54274}
-
Alexey Kozyatinskiy authored
After liveedit removed - we do not need this context any more. R=yangguo@chromium.org TBR=clemensh@chromium.org Bug: v8:5530 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Idb43d016d51b8048f6cd2ca590fd7510abcacb49 Reviewed-on: https://chromium-review.googlesource.com/1106802 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54273}
-
jgruber authored
This adds the option to output statistics about the embedded blob. On x64 release, the output is currently: Total size: 724064 Metadata size: 6832 Instruction size: 703427 Padding: 13805 Embedded builtin count: 852 Instruction size (50th percentile): 222 Instruction size (75th percentile): 749 Instruction size (90th percentile): 1871 Instruction size (99th percentile): 9171 Total size is added to our Memory benchmark. Drive-by: Fix startup / context regexps for Memory benchmark. Bug: v8:6666, v8:7898 Change-Id: I90d4458877939d3b48593bd9dd3a33971fe78c44 Reviewed-on: https://chromium-review.googlesource.com/1126104 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54256}
-
Georgia Kouveli authored
This is a port of e5630ea9: "[builtins,x64] pc-relative builtin-to-builtin calls". Bug: v8:6666 Change-Id: Id53bf45c6a4fedb1c972ced72984b6673808ee96 Reviewed-on: https://chromium-review.googlesource.com/1126249Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#54243}
-
Yang Guo authored
If the first object in the space already exceeds the target chunk size, we would leave the first chunk empty. That violates some assumptions later when we allocate for deserialization. R=hpayer@chromium.org, jgruber@chromium.org TBR=hpayer@chromium.org Bug: v8:7887 Change-Id: Iee8147fe1205bb6b1c893d48acde1099b5032a14 Reviewed-on: https://chromium-review.googlesource.com/1126763Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54235}
-
- 04 Jul, 2018 6 commits
-
-
Dan Elphick authored
In future the RO_SPACE root accessors in Heap will become private, so instead convert them all to use ReadOnlyRoots. Bug: v8:7786 Change-Id: I631fa1e44d2b9998a5567c96c6977955ac86d5a1 Reviewed-on: https://chromium-review.googlesource.com/1125931Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#54215}
-
Yang Guo authored
R=jgruber@chromium.org Change-Id: I1b3792dd678757eed8739de1f1c37c77838c52d9 Reviewed-on: https://chromium-review.googlesource.com/1125850Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54209}
-
Yang Guo authored
R=jgruber@chromium.org Change-Id: Ia874ff087fd4cd56e829e0c0d2b19586dc5b5040 Reviewed-on: https://chromium-review.googlesource.com/1125848Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54208}
-
jgruber authored
Recent changes in SerializerReferences (see https://crrev.com/c/1113930) opened up these minor improvements to the builtin serializer allocator, since we now have dedicated BuiltinReferences. R=yangguo@chromium.org Bug: v8:7887 Change-Id: Ie76a52a88ef4075c63c5eb2eaa81382c52325688 Reviewed-on: https://chromium-review.googlesource.com/1125844Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54207}
-
Yang Guo authored
R=jgruber@chromium.org Change-Id: If9b235868905b818912109f0684b888335c75e80 Reviewed-on: https://chromium-review.googlesource.com/1125845Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54204}
-
Yang Guo authored
Bug: v8:7887 Change-Id: I3904981f06efcb1fb83e863d0be6a16ebaaf17f2 Reviewed-on: https://chromium-review.googlesource.com/1113930Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54189}
-
- 03 Jul, 2018 1 commit
-
-
jgruber authored
This CL replaces most uses of the V8_EMBEDDED_BUILTIN define by a new read-only runtime flag called FLAG_embedded_builtins. The flag is true iff V8_EMBEDDED_BUILTINS is defined. Bug: v8:6666 Change-Id: Ifcc909dc9b028a2c967f8a0e45029df5e71072df Reviewed-on: https://chromium-review.googlesource.com/1122401 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54156}
-
- 02 Jul, 2018 1 commit
-
-
Hannes Payer authored
Bug: chromium:852420 Change-Id: I44d0bde25283ac8c00155344f879eb1143b43bc9 Reviewed-on: https://chromium-review.googlesource.com/1119688Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54130}
-
- 28 Jun, 2018 2 commits
-
-
Ross McIlroy authored
Merges DebugInfo field into the function_identifier field, storing the function identifier in the DebugInfo. Also moves some debugging_hints bits to the SFI flags, and others to the DebugInfo. Finally, changes the logic to store debugger patched bytecode array on the SFI instead of the DebugInfo, simplifying the logic in the InterpreterEntryTrampoline. BUG=chromium:818642,chromium:783853 TBR=hpayer@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: If440080c0f08fac4fb96f5e18dcc0eb9b86d4821 Reviewed-on: https://chromium-review.googlesource.com/1115819 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54081}
-
Michael Achenbach authored
This reverts commit fdf69d53. Reason for revert: Speculative revert for broken GPU bots: https://ci.chromium.org/p/v8/builders/luci.v8.ci/Linux%20V8%20FYI%20Release%20%28NVIDIA%29/1638 https://ci.chromium.org/p/v8/builders/luci.v8.ci/Mac%20V8%20FYI%20Release%20%28Intel%29/1624 Original change's description: > [heap] Adds a young generation large object space > > This CL adds the young generation lage object spaces and a flag > --young-generation-large-objects that by default allocates all > large objects in this space. This is a preparation CL. The space > is not fully functional. > > Bug: chromium:852420 > Change-Id: Ib66d26fa52cda89bf04787084826aeb84b6ec1ac > Reviewed-on: https://chromium-review.googlesource.com/1099164 > Commit-Queue: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54056} TBR=ulan@chromium.org,yangguo@chromium.org,hpayer@chromium.org Change-Id: I175514f806a19c7837022795210625ca40e3c318 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:852420 Reviewed-on: https://chromium-review.googlesource.com/1118038Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#54072}
-
- 27 Jun, 2018 2 commits
-
-
Camillo Bruni authored
- Introduce ScriptEventType enum - Emit log event when deserializing scripts - Better handle deserialized and eval scripts when calculating the byte size Bug: chromium:757467, chromium:850038 Change-Id: I082161d8d1d4238a90d3607ca8b6b4e60f2f903e Reviewed-on: https://chromium-review.googlesource.com/1114845 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54061}
-
Hannes Payer authored
This CL adds the young generation lage object spaces and a flag --young-generation-large-objects that by default allocates all large objects in this space. This is a preparation CL. The space is not fully functional. Bug: chromium:852420 Change-Id: Ib66d26fa52cda89bf04787084826aeb84b6ec1ac Reviewed-on: https://chromium-review.googlesource.com/1099164 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54056}
-
- 26 Jun, 2018 2 commits
-
-
Dan Elphick authored
All Object::Print functions now take an Isolate* parameter. Various XX::XXPrint functions now take an Isolate if it's needed rather than calling GetIsolate(). Such method use DECL_PRINTER_WITH_ISOLATE rather than DECL_PRINTER. The _v8_internal_Print_ function (intended for use in gdb) now uses Isolate::Current() to get hold of an Isolate. Reduces the GetIsolate and GetHeap count by 9 and 5 respectively. Also removes unneeded gdb/lldb macros (along with their support functions), jfv, jfm, jda and jta, since job does the same thing. Bug: v8:7786 Change-Id: Ib93ebca6ca47c4db9c85cc6d9ff8004da5942dec Reviewed-on: https://chromium-review.googlesource.com/1112001 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54029}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: Ia1eca39add782c5af27f12c2bb450cc7837a4251 Reviewed-on: https://chromium-review.googlesource.com/1113678Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54017}
-
- 25 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Roughly: GetIsolate(): -31 handle(HeapObject): -6 TBR=verwaest@chromium.org Bug: v8:7786 Change-Id: I3857f8c45f1f93c727d575d5f9244d9811949a7f Reviewed-on: https://chromium-review.googlesource.com/1111838Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53997}
-
- 22 Jun, 2018 1 commit
-
-
Sigurd Schneider authored
This CL adds the BUILTIN kind specific flag is_off_heap_trampoline to Code objects. Code objects hence know whether they are off-heap trampolines, and can decide whether they need to return the off-heap instruction start or not without looking at the builtin index and/or considering the existence of an embedded blob. Bug: v8:6666 Change-Id: I0fbc540a2624ed5fa8256b807299e2fe4b907dda Reviewed-on: https://chromium-review.googlesource.com/1109691 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53956}
-
- 20 Jun, 2018 1 commit
-
-
Yang Guo authored
Unconditionally setting the JSFunction code to that of the SFI may skip initializing the feedback vector. R=leszeks@chromium.org Bug: v8:7857 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I65d4bf32493be4cade2eaf3d665d44f93e80f809 Reviewed-on: https://chromium-review.googlesource.com/1107618 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53881}
-
- 18 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
Since https://crrev.com/2951473002, there is only one reloc info for code targets, so there is no need for the special {kCodeTargetMask}. R=mstarzinger@chromium.org Bug: v8:7754 Change-Id: I1055108c0128c7de0f5cfefc5e90bbd9dc75522a Reviewed-on: https://chromium-review.googlesource.com/1098663Reviewed-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@{#53776}
-
- 12 Jun, 2018 2 commits
-
-
Igor Sheludko authored
Bug: v8:7754 Change-Id: I11845f84c5e837d3d7323c4a932c36af08b61a8e Reviewed-on: https://chromium-review.googlesource.com/1096940Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53670}
-
Leszek Swirski authored
Introduce debug-only non-isolate versions of oddball checks so that we can check for oddballs in DCHECKs without requiring an isolate. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I97ee22fb99b23dbfa5d2d0bc7c6b22392d16d694 Reviewed-on: https://chromium-review.googlesource.com/1094875Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53662}
-
- 07 Jun, 2018 1 commit
-
-
Dan Elphick authored
Use a passed in Isolate/Heap directly rather than using GetIsolate() on HeapObjects which may not in future be tied to an isolate. Bug: v8:7786 Change-Id: I89d8706544aa135049434cf20c4e1308474c678b Reviewed-on: https://chromium-review.googlesource.com/1089334Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53569}
-
- 30 May, 2018 1 commit
-
-
jgruber authored
This extends the ScriptCompiler::CompileModule function with a CompileOptions argument. Accepted values are kNoCompileOptions (in which case, behavior remains unmodified) and kConsumeCodeCache. If the latter is passed, we try to fetch the given module from the code cache. Since it is possible to compile the same source code as both a script and a module (and different code is generated for the two cases), a new is_module bit is added to the SerializedCodeData header to disambiguate between the two cases. Bug: v8:7685 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I34b3642505577ed9ed0caedbee5876308c5a53ea Reviewed-on: https://chromium-review.googlesource.com/1073327 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53432}
-
- 28 May, 2018 1 commit
-
-
Yang Guo authored
Introduce a new public API called CodeEventListener to allow embedders to better support external profilers and other diagnostic tools without relying on unsupported methods like --perf-basic-prof. Bug: v8:7694 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I063cc965394d59401358757634c9ea84c11517e9 Co-authored-by:
Daniel Beckert <daniel@sthima.com.br> Reviewed-on: https://chromium-review.googlesource.com/1028770 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#53382}
-
- 25 May, 2018 1 commit
-
-
jgruber authored
This addresses one of the major remaining slowdowns with embedded builtins on x64. When generating code for a call to a builtin callee from a builtin caller, we'd look up the Code target object from the builtins constant list, calculate the location of the first instruction, and jump to it. Note that for embedded builtin callees, the Code object is itself only a trampoline to the off-heap code and thus an additional indirection. An example of the call sequence in pseudo-asm: // Load from the constants list. mov reg, [kRootPointer, kBuiltinsConstantListOffset] mov reg, [reg, offset_of_the_code_constant] // Calculate first instruction and call it. add reg, Code::kHeaderOffset call reg // The trampoline forwards to the off-heap area. mov kOffHeapTrampolineRegister, <off-heap instruction_start> jmp kOffHeapTrampolineRegister This CL changes calls to embedded builtin targets to use pc-relative addressing. This reduces the above instruction sequence to: call <pc-relative offset to target instruction_start> Embedded-to-embedded calls jump directly to the embedded instruction stream, bypassing the trampoline. Heap-to-embedded calls (and all calls to heap-builtins) use pc-relative addressing targeting the on-heap Code object. Other relevant platforms (arm,arm64,mips,mips64) do not use pc-relative calls. For these, we'll need a different solution, e.g. a table of embedded builtin addresses reachable from the root pointer, similar to the external reference table. Bug: v8:6666 Change-Id: Ic0317d454e2da37d74eaecebcdfcbc0d5f5041ad Reviewed-on: https://chromium-review.googlesource.com/1068732 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53349}
-
- 23 May, 2018 1 commit
-
-
Camillo Bruni authored
This reverts commit 05bcb12e. Reason for revert: Causes isolate startup regressions (https://crbug.com/845508) Original change's description: > Flush ICache on startup deserialization after marking memory executable > > Tentative fix for Android invoke crashers with write protection code > enabled. > > Bug: chromium:842862 > Change-Id: If238b25b239b50c597f3745aa683f564a717434f > Reviewed-on: https://chromium-review.googlesource.com/1061513 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53209} TBR=mstarzinger@chromium.org,cbruni@chromium.org,jgruber@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:842862, chromium:845508, chromium:845877 Change-Id: Iff002e1ac75aca48c696053dddf1b413f372629e Reviewed-on: https://chromium-review.googlesource.com/1068048 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#53305}
-