- 06 Apr, 2016 1 commit
-
-
verwaest authored
The previous code cache system required stubs to be marked with a StubType, causing them to be inserted either into a fixed array or into a dictionary-mode code cache. This could cause names to be in both cases, and lookup would just find the "fast" one first. Given that we clear out the caches on each GC, the memory overhead shouldn't be too bad. Additionally, the dictionary itself should just stay linear for small arrays; that's faster anyway. This CL additionally deletes some dead IC code. BUG= Review URL: https://codereview.chromium.org/1846963002 Cr-Commit-Position: refs/heads/master@{#35291}
-
- 01 Mar, 2016 1 commit
-
-
yangguo authored
R=rossberg@chromium.org, ulan@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/1751863002 Cr-Commit-Position: refs/heads/master@{#34395}
-
- 30 Nov, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1483933002 Cr-Commit-Position: refs/heads/master@{#32403}
-
- 27 Nov, 2015 1 commit
-
-
jochen authored
It needs ot to flush icaches all over the place BUG=v8:2487 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1477343002 Cr-Commit-Position: refs/heads/master@{#32371}
-
- 09 Nov, 2015 1 commit
-
-
mtrofin authored
While working on frame elision, I wanted to disassemble codegen in the debugger, as the code generation is progressing. I discovered we had a "Print" member on the x64 assembler, without any implementation. I pulled it up to AssemblerBase and gave it an implementation that should work for the other architectures. Also checked that ia32, x87, arm and arm64 assemblers didn't have such an implementation - free Print. Arm64 has a naming conflict with the v8::internal::Disassembler. I renamed the arm64 type with a more specific name. Opportunistically fixed a bug in the name converter. This debug-time printer doesn't provide a Code object, which should be OK with the name converters, by the looks of other APIs there. All this means is that when using the Print() API, we just get addresses dumped without any context (like what this address may be - a stub maybe, etc). This seems fine for the scenario. There may be other places that assume a Code object. Since this is a diagnostics-only scenario, for codegen developers, I feel it is reasonable to fix such other places as we find them. Review URL: https://codereview.chromium.org/1431933003 Cr-Commit-Position: refs/heads/master@{#31869}
-
- 24 Aug, 2015 1 commit
-
-
rmcilroy authored
Replaces all instances of the code which computed the debug name of a stub or function with calls to CompileInfo::GetDebugName instead. Also: - Removes useless parameter on CodeStub::GetMajorName - Removes FakeStubForTesting since it is no longer required - Adds CompileInfo::ShouldEnsureSpaceForLazyDeopt() to replace unclear calls to IsStub(). Review URL: https://codereview.chromium.org/1297203002 Cr-Commit-Position: refs/heads/master@{#30324}
-
- 14 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1297583002 Cr-Commit-Position: refs/heads/master@{#30172}
-
- 31 Jul, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1265923002 Cr-Commit-Position: refs/heads/master@{#29951}
-
- 13 Jul, 2015 2 commits
-
-
ishell authored
NON_CONTEXTUAL ~> INSIDE_TYPEOF CONTEXTUAL ~> NOT_INSIDE_TYPEOF Review URL: https://codereview.chromium.org/1227893005 Cr-Commit-Position: refs/heads/master@{#29611}
-
rmcilroy authored
Review URL: https://codereview.chromium.org/1221433021 Cr-Commit-Position: refs/heads/master@{#29604}
-
- 10 Jul, 2015 1 commit
-
-
yangguo authored
Break point at calls are currently set via IC. To change this, we need to set debug break slots instead. We also need to distinguish those debug break slots as calls to support step-in. To implement this, we add a data field to debug break reloc info to indicate non-call debug breaks or in case of call debug breaks, the number of arguments. We can later use this to find the callee on the evaluation stack in Debug::PrepareStep. BUG=v8:4269 R=ulan@chromium.org LOG=N Review URL: https://codereview.chromium.org/1222093007 Cr-Commit-Position: refs/heads/master@{#29561}
-
- 03 Jul, 2015 1 commit
-
-
yangguo authored
LOG=N R=bmeurer@chromium.org BUG=chromium:506443 Review URL: https://codereview.chromium.org/1217673003 Cr-Commit-Position: refs/heads/master@{#29463}
-
- 16 Jun, 2015 1 commit
-
-
mstarzinger authored
Revert of Decompiler improvements. (patchset #2 id:20001 of https://codereview.chromium.org/1177123002/) Reason for revert: Code printout has become unreadable. Offsets are printed in decimal numbers everywhere else. This is inconsistent with the rest of the code-base. Some examples are tables for deoptimization data, safepoints and exception handlers. I would be fine with this change if _all_ tracing would be adapted. But there are _many_ places to touch. Original issue's description: > Decompiler improvements. > > The main motivation is simplifying profiling activities: > > 1) Use hex instead of decimal for offsets, just like perf does. This > affects --print-opt-code > > 2) When printing block information, indicate loop information: if > block is header, where the end is; if block is in a loop, where the > loop starts. This affects --code-comments. > > Using --print-opt-code --code-comments, and cross-referencing with data > obtained from perf, one may now find the block a hotspot belongs to > without needing to do hex2dec/dec2hex conversions. Once found, loop info > is available locally, on the block. > > BUG= > > Committed: https://crrev.com/32f4bd659d38eb5485eedb1d0dd236ff1bdc01d5 > Cr-Commit-Position: refs/heads/master@{#28964} TBR=jarin@chromium.org,stichnot@chromium.org,jvoung@chromium.org,mtrofin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1188093002 Cr-Commit-Position: refs/heads/master@{#29046}
-
- 11 Jun, 2015 1 commit
-
-
mtrofin authored
The main motivation is simplifying profiling activities: 1) Use hex instead of decimal for offsets, just like perf does. This affects --print-opt-code 2) When printing block information, indicate loop information: if block is header, where the end is; if block is in a loop, where the loop starts. This affects --code-comments. Using --print-opt-code --code-comments, and cross-referencing with data obtained from perf, one may now find the block a hotspot belongs to without needing to do hex2dec/dec2hex conversions. Once found, loop info is available locally, on the block. BUG= Review URL: https://codereview.chromium.org/1177123002 Cr-Commit-Position: refs/heads/master@{#28964}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 27 Mar, 2015 1 commit
-
-
yangguo authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1041743002 Cr-Commit-Position: refs/heads/master@{#27501}
-
- 06 Mar, 2015 1 commit
-
-
yangguo authored
External references are encoded as a tuple of type and ID. This requires both the external reference encode and the decoder to create a mapping between the encoding and the external reference table index. Instead, we simply use the external reference table index as encoding. We now also assume that there are no duplicate entries. Existing duplicates have been removed in this change. R=vogelheim@chromium.org Review URL: https://codereview.chromium.org/982773003 Cr-Commit-Position: refs/heads/master@{#27033}
-
- 05 Mar, 2015 1 commit
-
-
yangguo authored
Internal references are absolute addresses into the instruction stream. Turn them into relative addresses when serializing and back when deserializing to keep them valid. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/976623002 Cr-Commit-Position: refs/heads/master@{#27020}
-
- 20 Feb, 2015 1 commit
-
-
michael_dawson authored
Rebase to latest and use branch created by git new-branch to get a patch that only has the required changes. Created new branch, reset to HEAD and then cherry picked across the changes modified: src/compiler/ppc/code-generator-ppc.cc modified: src/compiler/ppc/instruction-selector-ppc.cc modified: src/disassembler.cc modified: src/ic/ppc/handler-compiler-ppc.cc modified: src/ic/ppc/ic-compiler-ppc.cc modified: src/ppc/assembler-ppc-inl.h modified: src/ppc/assembler-ppc.cc modified: src/ppc/assembler-ppc.h modified: src/ppc/builtins-ppc.cc modified: src/ppc/code-stubs-ppc.cc modified: src/ppc/deoptimizer-ppc.cc modified: src/ppc/disasm-ppc.cc modified: src/ppc/full-codegen-ppc.cc modified: src/ppc/macro-assembler-ppc.cc modified: src/serialize.cc R=danno@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/935383002 Cr-Commit-Position: refs/heads/master@{#26762}
-
- 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}
-
- 05 Feb, 2015 3 commits
-
-
loislo authored
1) The hardcoded strings were converted into DeoptReason enum. 2) Deopt comment were converted into a pair location and deopt reason entries so the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. BUG=452067 LOG=n Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 Cr-Commit-Position: refs/heads/master@{#26434} Committed: https://crrev.com/ec42e002da03adb2db968dd5b7453341ddc59a5c Cr-Commit-Position: refs/heads/master@{#26448} Review URL: https://codereview.chromium.org/874323003 Cr-Commit-Position: refs/heads/master@{#26463}
-
bmeurer authored
Revert of Externalize deoptimization reasons. (patchset #7 id:120001 of https://codereview.chromium.org/874323003/) Reason for revert: This CL breaks RelocInfo::INTERNAL_REFERENCE (and maybe others that come after DEOPT_REASON), which is currently (mostly) unused on tip-of-tree, but will be used for jump tables soon(ish) and should therefore work. It seems to be a problem with implicitly assumptions about the number of reloc info modes. Needs further investigation. Original issue's description: > Externalize deoptimization reasons. > > 1) The hardcoded strings were converted into DeoptReason enum. > > 2) Deopt comment were converted into a pair location and deopt reason entries so > the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. > > 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. > > BUG=452067 > LOG=n > > Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 > Cr-Commit-Position: refs/heads/master@{#26434} > > Committed: https://crrev.com/ec42e002da03adb2db968dd5b7453341ddc59a5c > Cr-Commit-Position: refs/heads/master@{#26448} TBR=alph@chromium.org,mstarzinger@chromium.org,svenpanne@chromium.org,yurys@chromium.org,loislo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=452067 Review URL: https://codereview.chromium.org/900223002 Cr-Commit-Position: refs/heads/master@{#26457}
-
loislo authored
1) The hardcoded strings were converted into DeoptReason enum. 2) Deopt comment were converted into a pair location and deopt reason entries so the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. BUG=452067 LOG=n Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 Cr-Commit-Position: refs/heads/master@{#26434} Review URL: https://codereview.chromium.org/874323003 Cr-Commit-Position: refs/heads/master@{#26448}
-
- 04 Feb, 2015 2 commits
-
-
loislo authored
Revert of Externalize deoptimization reasons. (patchset #6 id:100001 of https://codereview.chromium.org/874323003/) Reason for revert: it broke the build Original issue's description: > Externalize deoptimization reasons. > > 1) The hardcoded strings were converted into DeoptReason enum. > > 2) Deopt comment were converted into a pair location and deopt reason entries so > the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. > > 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. > > BUG=452067 > LOG=n > > Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 > Cr-Commit-Position: refs/heads/master@{#26434} TBR=alph@chromium.org,mstarzinger@chromium.org,svenpanne@chromium.org,yurys@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=452067 Review URL: https://codereview.chromium.org/892843007 Cr-Commit-Position: refs/heads/master@{#26435}
-
loislo authored
1) The hardcoded strings were converted into DeoptReason enum. 2) Deopt comment were converted into a pair location and deopt reason entries so the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. BUG=452067 LOG=n Review URL: https://codereview.chromium.org/874323003 Cr-Commit-Position: refs/heads/master@{#26434}
-
- 30 Jan, 2015 1 commit
-
-
michael_dawson authored
Contribution of PowerPC port (continuation of 422063005 and 817143002). This patch covers the key changes needed to the common files needed to support AIX. Subsequent patches will cover: - changes to update the ppc directories so they are current with the changes in the rest of the project. - remaining AIX changes not resolved by 4.8 compiler - individual optimizations for PPC This is based off of the GitHub repository https://github.com/andrewlow/v8ppc R=danno@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/866843003 Cr-Commit-Position: refs/heads/master@{#26343}
-
- 30 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Review URL: https://codereview.chromium.org/618643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Sep, 2014 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/598703003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2014 1 commit
-
-
mvstanton@chromium.org authored
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs. More work could/should be done here, but this is a first step. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/565873002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Jul, 2014 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/407383004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 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
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2014 2 commits
-
-
bmeurer@chromium.org authored
This reverts commit r20938 for breaking the windows build. TBR=ulan@chromium.org Review URL: https://codereview.chromium.org/254463003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/257453003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 1 commit
-
-
rmcilroy@chromium.org authored
The ool constant pool will require a pointer to the code's constant pool when updating or reading target addresses using set_target_address_at() and target_address_at(). Original Review URL: https://codereview.chromium.org/183803022 R=ulan@chromium.org Review URL: https://codereview.chromium.org/195983002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Jan, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=dcarney@chromium.org Review URL: https://codereview.chromium.org/148223002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jan, 2014 1 commit
-
-
mvstanton@chromium.org authored
Recent changes in IC logic meant that CallStubs no longer use the Contextual bit. IsUndeclaredGlobal() needed to adjust for that. In fact, now the CL has morphed to remove the notion of storing contextual state in the IC at all, it just becomes some extra ic state of the load ic. This took some adjustment in harmony code to use the global receiver for certain stores. Now it's clearer that only LoadICs actually record any information about contextual or not. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/140943002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2014 1 commit
-
-
mvstanton@chromium.org authored
to be on the global object. Previously, this information was stored in RelocInfo. A more logical place for this kind of structural information is ExtraICState. Storing it there makes it easier for us to gather type feedback from these sites too. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/96083005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-