- 19 Apr, 2016 6 commits
-
-
verwaest authored
MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com> Review URL: https://codereview.chromium.org/1892533004 Cr-Commit-Position: refs/heads/master@{#35606}
-
mstarzinger authored
This switches CodeGenerator::PrintCode to be based on the allocated shared function info instead of the function literal. This is possible now that even live edit allocates a shared function info for scripts. R=ishell@chromium.org BUG=chromium:604375 LOG=n Review URL: https://codereview.chromium.org/1901753002 Cr-Commit-Position: refs/heads/master@{#35605}
-
mlippautz authored
This makes IterateBodyFast work without requiring visitors to inherit from ObjectVisitor. R=ishell@chromium.org Review URL: https://codereview.chromium.org/1900843002 Cr-Commit-Position: refs/heads/master@{#35604}
-
zhengxing.li authored
port d412cfa2 (r35596) original commit message: Reland of (https://codereview.chromium.org/1891033002) This is a much cleaner solution, which won't require nearly as much architecture-specific code. Thanks bmeurer@! BUG= Review URL: https://codereview.chromium.org/1897143003 Cr-Commit-Position: refs/heads/master@{#35603}
-
zhengxing.li authored
port d0ccddd0 (r35584) original commit message: Behind --ignition-generators. Does not yet support Turbofan. BUG= Review URL: https://codereview.chromium.org/1902663002 Cr-Commit-Position: refs/heads/master@{#35602}
-
mtrofin authored
If we have 2 phis with the exact same operand list, and the first phi is used before the second one, via the operand incoming to the block that defines the phi, and the second one's operand is defined (via a parallel move) after the use, then the original operand will be assigned to the first phi. This will lead to a spurious validation error. To fix this, we look at the original pending assessment. Review URL: https://codereview.chromium.org/1895013003 Cr-Commit-Position: refs/heads/master@{#35601}
-
- 18 Apr, 2016 34 commits
-
-
bjaideep authored
Port d0ccddd0 Original commit message: First version of the new generators implementation. Behind --ignition-generators. Does not yet support Turbofan. R=neis@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, jyan@ca.ibm.com BUG=v8:4907 LOG=N Review URL: https://codereview.chromium.org/1896933002 Cr-Commit-Position: refs/heads/master@{#35600}
-
adamk authored
Revert of 32-bit linux: Force 16-byte stack alignment. (patchset #1 id:1 of https://codereview.chromium.org/1899783002/ ) Reason for revert: Broke InterpreterCreateArguments test on Linux nosnap debug: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/6404 Original issue's description: > 32-bit linux: Force 16-byte stack alignment. > > clang assumes 16-byte stack alignment, but incoming stack alignment isn't > always guaranteed to be that way. It looks like v8 was lucky to not hit > this so far. > > See https://crbug.com/418554 -- this makes v8's standalone config match > Chromium. See also https://llvm.org/bugs/show_bug.cgi?id=21414 > > Maybe it's possible to change the caller of OnEntryHook() to guarantee > the right alignment, but matching Chromium's build flags here seems like > a good idea in general. > > BUG=v8:4928 > LOG=n > > Committed: https://crrev.com/3afb3324941625559635380ef98a2ee73e370a0a > Cr-Commit-Position: refs/heads/master@{#35597} TBR=machenbach@chromium.org,rnk@chromium.org,thakis@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4928 Review URL: https://codereview.chromium.org/1895783004 Cr-Commit-Position: refs/heads/master@{#35599}
-
titzer authored
R=bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review URL: https://codereview.chromium.org/1895013002 Cr-Commit-Position: refs/heads/master@{#35598}
-
thakis authored
clang assumes 16-byte stack alignment, but incoming stack alignment isn't always guaranteed to be that way. It looks like v8 was lucky to not hit this so far. See https://crbug.com/418554 -- this makes v8's standalone config match Chromium. See also https://llvm.org/bugs/show_bug.cgi?id=21414 Maybe it's possible to change the caller of OnEntryHook() to guarantee the right alignment, but matching Chromium's build flags here seems like a good idea in general. BUG=v8:4928 LOG=n Review URL: https://codereview.chromium.org/1899783002 Cr-Commit-Position: refs/heads/master@{#35597}
-
binji authored
Reland of (https://codereview.chromium.org/1891033002) This is a much cleaner solution, which won't require nearly as much architecture-specific code. Thanks bmeurer@! BUG=v8:4614 LOG=y TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1902433003 Cr-Commit-Position: refs/heads/master@{#35596}
-
jyan authored
Port 89d7bfda Original commit message: There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=yangguo@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1893283003 Cr-Commit-Position: refs/heads/master@{#35595}
-
hlopko authored
Quick one, ptal. BUG=468240 LOG=no Committed: https://crrev.com/0eae5650dec265e961a1024fd2090301f2cdca16 Cr-Commit-Position: refs/heads/master@{#35578} Review URL: https://codereview.chromium.org/1895753002 Cr-Commit-Position: refs/heads/master@{#35594}
-
caitpotter88 authored
Change --harmony-exponentiation-operator to be enabled by default. Intent-to-Ship: https://groups.google.com/forum/#!topic/v8-users/W6rKEsdQHXE BUG=v8:3915 LOG=N R=adamk@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/1895113003 Cr-Commit-Position: refs/heads/master@{#35593}
-
akos.palfi authored
Port 53253799 BUG= Review URL: https://codereview.chromium.org/1900743002 Cr-Commit-Position: refs/heads/master@{#35592}
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1895843002 Cr-Commit-Position: refs/heads/master@{#35591}
-
mstarzinger authored
This makes sure that the Compiler::CompileForLiveEdit API function uses the common pipeline for top-level code. It ensures that a proper shared function info object is allocated before compilation is triggered. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1900613002 Cr-Commit-Position: refs/heads/master@{#35590}
-
jyan authored
The old switch-case instruction decode implementation results in a sparse table, which is not resolved by a fast jump table routing. Therefore, it is really slow in instruction decoding phase. R=joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1873963002 Cr-Commit-Position: refs/heads/master@{#35589}
-
mstarzinger authored
R=ishell@chromium.org BUG=chromium:604375 LOG=n Review URL: https://codereview.chromium.org/1895073002 Cr-Commit-Position: refs/heads/master@{#35588}
-
bjaideep authored
Port 89d7bfda Original commit message: There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=yangguo@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, jyan@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1899763002 Cr-Commit-Position: refs/heads/master@{#35587}
-
rmcilroy authored
Binding bytecode_array to a CodeStubAssembler variable in CallEpilogue was causing issues with the approach to inline code stubs into interpreter bytecode handlers. Instead of doing this, just keep track of whether a call has been made, and if so reload directly from the stack frame when necessary. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1895063002 Cr-Commit-Position: refs/heads/master@{#35586}
-
ssanfilippo authored
Misattributed samples are strictly related to handlers, and the size of this special group helps understand how accurate the profile is. For these reasons, it makes more sense to always show this group. LOG=N BUG=v8:4899 Review URL: https://codereview.chromium.org/1895793002 Cr-Commit-Position: refs/heads/master@{#35585}
-
neis authored
Behind --ignition-generators. Does not yet support Turbofan. TBR=bmeurer@chromium.org BUG=v8:4907 LOG=n Review URL: https://codereview.chromium.org/1884183002 Cr-Commit-Position: refs/heads/master@{#35584}
-
mstarzinger authored
This should be a plain refactoring change with only negligible changes to method semantics. The main aim is to improve readability of some API method implementations. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1895033003 Cr-Commit-Position: refs/heads/master@{#35583}
-
jyan authored
R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1896733002 Cr-Commit-Position: refs/heads/master@{#35582}
-
yangguo authored
There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=mstarzinger@chromium.org Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d Cr-Commit-Position: refs/heads/master@{#35257} Committed: https://crrev.com/ad4e8a27963b704bb70ec8bac0991c57296b1d16 Cr-Commit-Position: refs/heads/master@{#35481} Review URL: https://codereview.chromium.org/1854713002 Cr-Commit-Position: refs/heads/master@{#35581}
-
mstarzinger authored
This removes the helper function in question that side-steps the interpreter without going through the canonical UseIgnition predicate. Having such a function is dangerous as it hides paths that are not yet covered by the interpreter (like live edit in this case). R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1895763002 Cr-Commit-Position: refs/heads/master@{#35580}
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1897793002 Cr-Commit-Position: refs/heads/master@{#35579}
-
hlopko authored
Quick one, ptal. BUG=468240 LOG=no Review URL: https://codereview.chromium.org/1895753002 Cr-Commit-Position: refs/heads/master@{#35578}
-
bmeurer authored
First step towards unifying the allocation story in TurboFan. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1900593002 Cr-Commit-Position: refs/heads/master@{#35577}
-
danno authored
This separation is needed to make two goals possible simultaneously: * is should be possible to offer V8 components a simple, clean interface to TurboFan's low-level code generation that doesn't expose details about the TF. * it should be possible to easily create new CodeAssembler "macros" that don't require a review from an OWNER of the compiler directory. Review URL: https://codereview.chromium.org/1875583003 Cr-Commit-Position: refs/heads/master@{#35576}
-
jarin authored
Review URL: https://codereview.chromium.org/1893283002 Cr-Commit-Position: refs/heads/master@{#35575}
-
ssanfilippo authored
A new script is introduced, linux_perf_report.py, which reads Linux perf data collected when running with FLAG_perf_basic_prof enabled and produces an input file for flamegraph.pl, or a report of the hottest bytecode handlers. The bottom blocks of the produced flamegraph are bytecode handlers. Special bottom blocks exist as well for compile routines, time spent outside the interpreter and interpreter entry trampolines. Because various Stubs and other pieces of JITted code do not maintain the frame pointer, some sampled callchains might be incomplete even if V8 is compiled with no_omit_framepointer=on. The script is able to detect the most common anomaly where an entry trampoline appears in a chain, but not on top, meaning that the frame of another bytecode handler is hidden. In this case, the sample will be moved to a [misattributed] group to avoid skewing the profile of unrelated handlers. Misattributed samples and compilation routines are hidden by default. BUG=v8:4899 LOG=N Review URL: https://codereview.chromium.org/1783503002 Cr-Commit-Position: refs/heads/master@{#35574}
-
ahaas authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1885413004 Cr-Commit-Position: refs/heads/master@{#35573}
-
jochen authored
Reland of [api] Restrict Template::Set to take templates or primitive values (patchset #1 id:1 of https://codereview.chromium.org/1860003002/ ) Reason for revert: node.js is updated now Original issue's description: > Revert of [api] Restrict Template::Set to take templates or primitive values (patchset #1 id:1 of https://codereview.chromium.org/1839983002/ ) > > Reason for revert: > Breaks node.js > > Original issue's description: > > [api] Restrict Template::Set to take templates or primitive values > > > > Embedders that passed in non-primitive values should either use > > getters/setters (templates) or install a native data property, > > otherwise, the values would all result in cross-context leaks > > > > BUG=none > > R=verwaest@chromium.org > > LOG=y > > > > Committed: https://crrev.com/eebdee8eafa97849cc70c25f3fecf1b075bac248 > > Cr-Commit-Position: refs/heads/master@{#35244} > > TBR=verwaest@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=none > > Committed: https://crrev.com/e1674a24ca3cb92bb4e58d368b25767bd61a0dfa > Cr-Commit-Position: refs/heads/master@{#35264} TBR=verwaest@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=none Review URL: https://codereview.chromium.org/1894993002 Cr-Commit-Position: refs/heads/master@{#35572}
-
ssanfilippo authored
Linux perf expects hex literals without a leading 0x, while some implementations of printf might prepend one when using the %p format for pointers, leading to wrongly formatted JIT symbols maps. Instead, use V8PRIxPTR format string and cast pointer to uintpr_t, since we have control over the exact output format of integers. LOG=N Review URL: https://codereview.chromium.org/1885033005 Cr-Commit-Position: refs/heads/master@{#35571}
-
mstarzinger authored
This introduces a dedicated getter to extract call descriptors from operators of call nodes (i.e. call and tail-call) to ensure that all accesses are const-correct. An implicit cast of constness is undefined behavior and hard to spot without sanitization. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1894983002 Cr-Commit-Position: refs/heads/master@{#35570}
-
mstarzinger authored
This fixes undefined behavior introduced by extracting the const call descriptor of a call node as non-const. Such an implicit cast between constness is not safe and should be avoided. R=ahaas@chromium.org TEST=unittests/Int64LoweringTest.CallI64Parameter BUG=v8:4924 LOG=n Review URL: https://codereview.chromium.org/1900563002 Cr-Commit-Position: refs/heads/master@{#35569}
-
rmcilroy authored
Adds code to call FunctionEntryHook on entry to the InterpreterEntryTrampoline. This should give SyzyProf enough information to build non-discontinous profile graphs, however since interpreter functions aren't uniquely identified they will all get lumped into one bucket. This should be good enough for SyzyProf's current use-case. BUG=v8:4763 LOG=N Review URL: https://codereview.chromium.org/1884133002 Cr-Commit-Position: refs/heads/master@{#35568}
-
mstarzinger authored
This disables parsing when we optimize directly from bytecode using TurboFan, because TurboFan is capable of building graphs out of the bytecode directly. R=bmeurer@chromium.org BUG=v8:4280 LOG=n Review URL: https://codereview.chromium.org/1891663004 Cr-Commit-Position: refs/heads/master@{#35567}
-