- 09 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533 Originally landed as r52416 / f9a2e24b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647 Reviewed-on: https://chromium-review.googlesource.com/1000540 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52492}
-
- 06 Apr, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit f9a2e24b. Reason for revert: gc stress failures not all fixed by follow up. Original change's description: > [cleanup] Refactor the Factory > > There is no good reason to have the meat of most objects' initialization > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, > this CL changes the protocol between Heap and Factory to be AllocateRaw, > and all object initialization work after (possibly retried) successful > raw allocation happens in the Factory. > > This saves about 20KB of binary size on x64. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca > Reviewed-on: https://chromium-review.googlesource.com/959533 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52416} TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52420}
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca Reviewed-on: https://chromium-review.googlesource.com/959533 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52416}
-
- 09 Oct, 2017 1 commit
-
-
Michael Starzinger authored
R=marja@chromium.org Change-Id: I93a366caded175256abd7966c3c157191a2b7de2 Reviewed-on: https://chromium-review.googlesource.com/690455 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#48370}
-
- 14 Aug, 2017 1 commit
-
-
Mostyn Bramley-Moore authored
* Avoid "using namespace" statements, which trigger clang's -Wheader-hygiene warnings in jumbo builds. * Undefine created macros at the end of source files. BUG=chromium:746958 Change-Id: I5d25432c314437f607b0e1be22765a6764267ba6 Reviewed-on: https://chromium-review.googlesource.com/610962Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#47347}
-
- 18 May, 2017 1 commit
-
-
ulan authored
This patch adds HeapObject::set_map_after_allocation method that initializes the map of the object without object layout checks. All other map setters now check that transitions unsafe for concurrent marking properly notify the GC. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2885883004 Cr-Commit-Position: refs/heads/master@{#45403}
-
- 27 Apr, 2017 1 commit
-
-
Adam Klein authored
Most callers passed kFinalizeIncrementalMarkingMask, so use that as a default argument (not using default argument syntax to avoid including heap.h in cctest.h). Change-Id: I904f1eb3a0f5fdbe63eab16f6a6f01d04618645d Reviewed-on: https://chromium-review.googlesource.com/488104Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#44950}
-
- 07 Feb, 2017 1 commit
-
-
ishell@chromium.org authored
... and TypeFeedbackMetadata to FeedbackMetadata. BUG= Change-Id: I2556d1c2a8f37b8cf3d532cc98d973b6dc7e9e6c Reviewed-on: https://chromium-review.googlesource.com/439244 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#42999}
-
- 07 Sep, 2016 1 commit
-
-
ulan authored
Now callers of Heap::CollectGarbage* functions need to specify the reason as an enum value instead of a string. Subsequent CL will add stats counter for GC reason. BUG= Review-Url: https://codereview.chromium.org/2310143002 Cr-Commit-Position: refs/heads/master@{#39239}
-
- 01 Sep, 2016 1 commit
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Many of these files we need to rebuild are cctests which pull in more includes than they need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2304553002 Cr-Commit-Position: refs/heads/master@{#39080}
-
- 09 Dec, 2015 1 commit
-
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-
- 16 Nov, 2015 1 commit
-
-
jochen authored
BUG=4134 R=epertoso@chromium.org LOG=n Review URL: https://codereview.chromium.org/1451733002 Cr-Commit-Position: refs/heads/master@{#32011}
-
- 16 Sep, 2015 1 commit
-
-
mvstanton authored
There isn't a plan to turn it on soon, so we'll take it out in favor of cleaner code. BUG= Review URL: https://codereview.chromium.org/1202173002 Cr-Commit-Position: refs/heads/master@{#30767}
-
- 31 Aug, 2015 2 commits
-
-
hablich authored
Revert of [heap] More flag cleanup. (patchset #8 id:140001 of https://codereview.chromium.org/1314863003/ ) Reason for revert: Breaks http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20-%202/builds/2372 Original issue's description: > [heap] GC flag cleanup/restructuring. > > * GC's flags are now proper flags and not int. > * Callback flags are not threaded through but only set once like gc flags > * Callers of methods that trigger GCs need to pass a reason when not using > the default parameters. > > Furthermore, each GC invocation can be passed the GC and GCCallback flags. We > usually override the currently set flags upon finishing a GC cylce, but are able > to restore the previously set if desired. This is useful for explicitely > triggered scavenges or external requests that interrupt the current behaviour. > > BUG= > > Committed: https://crrev.com/f4f3b431b9ce0778d926acf03c0d36dae5c0cba4 > Cr-Commit-Position: refs/heads/master@{#30457} TBR=hpayer@chromium.org,yangguo@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1303393004 Cr-Commit-Position: refs/heads/master@{#30463}
-
mlippautz authored
* GC's flags are now proper flags and not int. * Callback flags are not threaded through but only set once like gc flags * Callers of methods that trigger GCs need to pass a reason when not using the default parameters. Furthermore, each GC invocation can be passed the GC and GCCallback flags. We usually override the currently set flags upon finishing a GC cylce, but are able to restore the previously set if desired. This is useful for explicitely triggered scavenges or external requests that interrupt the current behaviour. BUG= Review URL: https://codereview.chromium.org/1314863003 Cr-Commit-Position: refs/heads/master@{#30457}
-
- 17 Jul, 2015 1 commit
-
-
mlippautz authored
Additionally, push the allocation site or undefined independently of creating a memento to preserve a fixed size for the construct frames. BUG= Review URL: https://codereview.chromium.org/1239593003 Cr-Commit-Position: refs/heads/master@{#29719}
-
- 23 Apr, 2015 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1099783003 Cr-Commit-Position: refs/heads/master@{#28024}
-
- 15 Apr, 2015 2 commits
-
-
machenbach authored
Revert of Force full GCwhenever CollectAllGarbage is meant to trigger a full GC. (patchset #4 id:60001 of https://codereview.chromium.org/1082973003/) Reason for revert: [Sheriff] Breaks http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3348 and maybe leads to timeouts/crashes on layout test bots: http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/3002 Original issue's description: > Force full GC whenever CollectAllGarbage is meant to trigger a full GC. > > Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site. > > Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC. > > BUG= > > Committed: https://crrev.com/9c105f0940ba757364ac18fcdf649815ec5ab2d1 > Cr-Commit-Position: refs/heads/master@{#27831} TBR=ulan@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1088083002 Cr-Commit-Position: refs/heads/master@{#27834}
-
hpayer authored
Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site. Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC. BUG= Review URL: https://codereview.chromium.org/1082973003 Cr-Commit-Position: refs/heads/master@{#27831}
-
- 14 Apr, 2015 1 commit
-
-
jarin authored
BUG=chromium:470390 R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1066653003 Cr-Commit-Position: refs/heads/master@{#27819}
-
- 13 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Add wrappers to utils.h instead. BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/328343003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2014 1 commit
-
-
ishell@chromium.org authored
Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis." This fixes inobject slack tracking for prototype inheritance pattern that uses closures. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/292183008 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 May, 2014 4 commits
-
-
ishell@chromium.org authored
Revert "Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."" This reverts r21442. TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/292433016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis." This fixes inobject slack tracking for prototype inheritance pattern that uses closures. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/290993009 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
This reverts r21436. TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/295933012 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
This fixes inobject slack tracking for prototype inheritance pattern that uses closures. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/283383006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2014 1 commit
-
-
yangguo@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/223573002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2014 1 commit
-
-
mvstanton@chromium.org authored
When FLAG_pretenure_call_new is on, we emit mementos on new object creation in full code, and consume the feedback in crankshaft. A key difference in the generated code for stubs is the allocation of an additional type vector slot for the CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub considerably. Some performance tuning still needs to be addressed, therefore the flag is off at this moment, though fully functional. The goal is to remove the flag as soon as possible, which allows much code deletion (yay). R=hpayer@chromium.org Review URL: https://codereview.chromium.org/132963012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Feb, 2014 1 commit
-
-
jarin@chromium.org authored
We only seem to force scavenge in our cctest test suite, so this is expected to fix some flakiness in our tests, but it will not improve stability of v8 itself. R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/167423004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2014 1 commit
-
-
hpayer@chromium.org authored
BUG= R=bmeurer@chromium.org, mvstanton@chromium.org Review URL: https://codereview.chromium.org/152813003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jan, 2014 1 commit
-
-
rossberg@chromium.org authored
Clean up some zone/isolate handling in AST and its visitors on the way. (Based on https://codereview.chromium.org/103743004/) R=jkummerow@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/102563004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2013 1 commit
-
-
rossberg@chromium.org authored
* AstNode now has a position info. * Removed various ad-hoc position infos from subclasses (most of which had it). * Position is always set with the constructor, instead of later. * Take care to use kNoPosition in the right spots, to not crash the debugger. Still to do: * Eliminate Conditional::then/else_position and WhileStatement::condition_position. * Make CaseClause a proper AstNode and eliminate its custom position. * If possible, eliminate all uses of kNoPosition. R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/24076007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2013 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23534067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Jun, 2013 2 commits
-
-
bmeurer@chromium.org authored
There's no need to differentiate between an actual Zone and its scope. Instead we bind the lifetime of the Zone memory to the lifetime of the Zone itself, which is way easier to understand than having to dig through the code looking for zone scopes. Depends on https://codereview.chromium.org/17826004/ R=danno@chromium.org BUG= Review URL: https://codereview.chromium.org/17827005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
No one is using the DONT_DELETE_ON_EXIT mode for ZoneScopes anymore, so we can safely assume that all ZoneScopes are DELETE_ON_EXIT now. R=danno@chromium.org BUG= Review URL: https://codereview.chromium.org/17826004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
The CompilationInfo record now saves a Zone, and the compiler pipeline allocates memory from the Zone in the CompilationInfo. Before compiling a function, we create a Zone on the stack and save a pointer to that Zone to the CompilationInfo; which then gets picked up and allocated from. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10534139 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Feb, 2012 1 commit
-
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9221011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jul, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
BUG=None TEST=None Signed-off-by: Thiago Farina <tfarina@chromium.org> git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jul, 2011 1 commit
-
-
vitalyr@chromium.org authored
R=ager@chromium.org Review URL: http://codereview.chromium.org/7383013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-