- 28 May, 2015 2 commits
-
-
mstarzinger authored
This introduces a conservative prediction for each exception handler whether it will locally catch an exception or re-throw it to outside the code bondaries. It will allow for a more intuitive prediction of whether an exception is considered "caught" or "uncaught". R=bmeurer@chromium.org,yangguo@chromium.org BUG=chromium:492522 LOG=N Review URL: https://codereview.chromium.org/1158563008 Cr-Commit-Position: refs/heads/master@{#28681}
-
bmeurer authored
We need the shared function info of inlined functions to prevent code flushing for their unoptimized code, and also to make sure that liveedit can find the proper functions to deoptimize. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1156403002 Cr-Commit-Position: refs/heads/master@{#28677}
-
- 21 May, 2015 1 commit
-
-
svenpanne authored
Currently the stub simply calls out to the runtime, this will be improved in a later CLs. The current state at least avoids bit-rot and later merging horror. Fixes frame construction logic for stubs, too, and contains quite a few tiny cleanups in stub-land. Review URL: https://codereview.chromium.org/1150673002 Cr-Commit-Position: refs/heads/master@{#28555}
-
- 30 Apr, 2015 1 commit
-
-
svenpanne authored
This CL contains the first steps towards tail call optimization: * Structurally detect tail calls during instruction selection, looking for special return/call combinations. * Added new architecture-specific instructions for tail calls which jump instead of call and take care of frame adjustment. * Moved some code around. Currently we restrict tail calls to callees which only use registers for arguments/return value and to call sites which are explicitly marked as being OK for tail calls. This excludes, among other things, call sites in sloppy JS functions and our IC machinery (both need in general to be able to access the caller's frame). All this is behind a flag --turbo-tail-calls, which is currently off by default, so it can easily be toggled. Review URL: https://codereview.chromium.org/1108563002 Cr-Commit-Position: refs/heads/master@{#28150}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 14 Apr, 2015 2 commits
-
-
bmeurer authored
It's cheaper to materialize heap constants by loading from the roots array instead of embedding the constant into the instruction stream, at least on x64, arm and arm64. Drive-by-fix: Also cleanup the materialize constant from frame optimization. R=dcarney@chromium.org Review URL: https://codereview.chromium.org/1088913002 Cr-Commit-Position: refs/heads/master@{#27818}
-
dcarney authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1060373006 Cr-Commit-Position: refs/heads/master@{#27808}
-
- 13 Apr, 2015 1 commit
-
-
dcarney authored
rename to ReferenceMap use ZoneVector for storage drop dead code BUG= Review URL: https://codereview.chromium.org/1081053002 Cr-Commit-Position: refs/heads/master@{#27785}
-
- 31 Mar, 2015 1 commit
-
-
dcarney authored
R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1041163002 Cr-Commit-Position: refs/heads/master@{#27538}
-
- 04 Mar, 2015 1 commit
-
-
jarin authored
BUG= Review URL: https://codereview.chromium.org/961973002 Cr-Commit-Position: refs/heads/master@{#26993}
-
- 25 Feb, 2015 1 commit
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/951553005 Cr-Commit-Position: refs/heads/master@{#26859}
-
- 20 Feb, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/943503003 Cr-Commit-Position: refs/heads/master@{#26783}
-
- 17 Feb, 2015 1 commit
-
-
bmeurer authored
This adds a new ControlFlowOptimizer that - for now - recognizes chains of Branches generated by the SwitchBuilder for a subset of javascript switches into Switch nodes. Those Switch nodes are then lowered to either table or lookup switches. Also rename Case to IfValue (and introduce IfDefault) for consistency. BUG=v8:3872 LOG=n Review URL: https://codereview.chromium.org/931623002 Cr-Commit-Position: refs/heads/master@{#26691}
-
- 09 Feb, 2015 1 commit
-
-
bmeurer authored
Adds Switch and Case operators to TurboFan and handles them appropriately in instruction selection and code generation. BUG=v8:3872 LOG=n Review URL: https://codereview.chromium.org/892513003 Cr-Commit-Position: refs/heads/master@{#26515}
-
- 23 Jan, 2015 1 commit
-
-
danno authored
Along the way: - Thread isolate parameter explicitly through code that used to rely on getting it from the zone. - Canonicalize the parameter position of isolate and zone for affected code - Change Hydrogen New<> instruction templates to automatically pass isolate R=mstarzinger@chromium.org LOG=N Review URL: https://codereview.chromium.org/868883002 Cr-Commit-Position: refs/heads/master@{#26252}
-
- 12 Jan, 2015 1 commit
-
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/809333002 Cr-Commit-Position: refs/heads/master@{#26020}
-
- 22 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
Following the Google/Chromium coding style wrt. virtual, OVERRIDE and FINAL specifications. TEST=unittests R=jochen@chromium.org Review URL: https://codereview.chromium.org/816453005 Cr-Commit-Position: refs/heads/master@{#25924}
-
- 05 Dec, 2014 2 commits
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/782703002 Cr-Commit-Position: refs/heads/master@{#25680}
-
jochen authored
Compare with LCodeGen::FinishCode BUG=none R=jarin@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/777243002 Cr-Commit-Position: refs/heads/master@{#25679}
-
- 02 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
TEST=mjsunit,cctest,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/763963002 Cr-Commit-Position: refs/heads/master@{#25591}
-
- 20 Nov, 2014 1 commit
-
-
titzer authored
R=dcarney@chromium.org BUG= Review URL: https://codereview.chromium.org/745633002 Cr-Commit-Position: refs/heads/master@{#25446}
-
- 06 Nov, 2014 1 commit
-
-
dcarney@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/707803002 Cr-Commit-Position: refs/heads/master@{#25201} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Oct, 2014 1 commit
-
-
dcarney@chromium.org authored
T=jarin@chromium.org BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/688633002 Cr-Commit-Position: refs/heads/master@{#25008} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Oct, 2014 1 commit
-
-
dcarney@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/679793003 Cr-Commit-Position: refs/heads/master@{#24904} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
Branch can now have an optional hint, when the condition is likely true or false, and if such a hint is present the other basic block will be marked as deferred and placed at the end of the function. We currently use this feature for tagging int32/uint32 in change lowering, and for load/store bounds checks in simplified lowering. TEST=cctest,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/642883003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Oct, 2014 1 commit
-
-
dcarney@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/664123002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Oct, 2014 1 commit
-
-
dcarney@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/669613002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2014 1 commit
-
-
dcarney@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/646393002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Oct, 2014 1 commit
-
-
dcarney@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/652643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Oct, 2014 1 commit
-
-
jarin@chromium.org authored
This change enables non-tagged representations in FrameStates. That allows us to run zlib with deoptimization support and have almost the same performance of the generated code (as the code with no deoptimization). Unfortunately, the frame states seem to confuse typer. As a consequence, we generate more representation changes, which in turn causes the scheduler to take a lot more time and memory (>4x). The added compiler time makes zlib with deopt be about 50% slower. BUG= R=titzer@chromium.org Review URL: https://codereview.chromium.org/614713002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2014 1 commit
-
-
jarin@chromium.org authored
To manage BasicBlock's predecessors and successors we now use plain std::vector. The change also moves bunch of method definitions from header files to implementation files. In zlib, the change brings 3x improvement in the scheduler's memory consumption. The --turbo-stats flag says we go 169MB -> 55MB in the scheduler, 383MB -> 268MB overall. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/606403003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Sep, 2014 1 commit
-
-
jarin@chromium.org authored
The code for EnsureSpaceForLazyDeopt is taken from lithium-codegen-*. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/562033003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Sep, 2014 1 commit
-
-
sigurds@chromium.org authored
Original: https://codereview.chromium.org/573703002/ Reland Fixes: - Add deopt framestate to CollectStackTrace runtime call R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/544953006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Sep, 2014 2 commits
-
-
sigurds@chromium.org authored
This reverts commit r24008. TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/581673002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sigurds@chromium.org authored
- Lazy deopt from inlined calls - Lazy deopt from inlined calls with parameter mismatch R=jarin@chromium.org, mstarzinger@chromium.org, mstarzinger@chromium Review URL: https://codereview.chromium.org/573703002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Sep, 2014 1 commit
-
-
jarin@chromium.org authored
We go back to patching the code for lazy deoptimization because ICs need the on-stack return address to read/update the IC address/state. The change also fixes bunch of tests, mostly by adding more deoptimization points. (We still need to add code to ensure lazy deopt patching does not overwrite ICs and other lazy deopts; this is coming next.) BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/568783002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2014 1 commit
-
-
sigurds@chromium.org authored
Reland fixes: - Verifier is now aware of sentinel value for FrameState chains. R=jarin@chromium.org Review URL: https://codereview.chromium.org/534573002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 3 commits
-
-
jarin@chromium.org authored
This reverts commit r23595. TBR=sigurds@chromium.org BUG= Review URL: https://codereview.chromium.org/528963002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sigurds@chromium.org authored
- Changes FrameState node to require a 5th input (use undefined as sentinel). - Adds outer_state pointer to FrameStateDescriptor. - Instruction selection dumps dependencies of FrameState chain into the instruction. - Code generator builds the translation for rec. FrameStates. (will require further integration tests) R=jarin@chromium.org Review URL: https://codereview.chromium.org/517323002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Less useless creativity is best creativity! R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/526223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-