- 16 Feb, 2016 8 commits
-
-
rmcilroy authored
Fixes a bug in Ignition on Arm64 where lr gets trashed in StaContextSlot which causes the stack walker to get confused and crash. BUG=v8:4680 LOG=N Review URL: https://codereview.chromium.org/1694263002 Cr-Commit-Position: refs/heads/master@{#34016}
-
bmeurer authored
This was actually only necessary for dealing with %_Arguments and %_ArgumentsLength in Crankshaft, which have been removed recently, so there's no need to keep this piece of awesomeness around any longer. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1695193003 Cr-Commit-Position: refs/heads/master@{#34015}
-
danno authored
This functionality is useful for stubs that need to walk the stack. The new machine operator, LoadParentFramePointer dosn't force the currently compiling method to have a frame in contrast to LoadFramePointer. Instead, it adapts accordingly when frame elision is possible, making efficient stack walks possible without incurring a performance penalty for small stubs that can benefit from frame elision. R=bmeurer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1695313002 Cr-Commit-Position: refs/heads/master@{#34014}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1697283002 Cr-Commit-Position: refs/heads/master@{#34013}
-
zhengxing.li authored
port 4ff159bd(r33880) original commit message: Add dedicated %LoadLookupSlot, %LoadLookupSlotInsideTypeof, %LoadLookupSlotForCall, %StoreLookupSlot_Sloppy and %StoreLookupSlot_Strict runtime entry points and use them appropriately in the various compilers. This way we can finally drop the machine operators from the JS graph level completely in TurboFan. Also drop the funky JSLoadDynamic operator from TurboFan, which was by now just a small wrapper around the runtime call to %LoadLookupSlot. BUG= Review URL: https://codereview.chromium.org/1694343002 Cr-Commit-Position: refs/heads/master@{#34012}
-
zhengxing.li authored
port d1c28849(r33873) original commit message: Moves InterpreterAssembler out of the compiler directory and into the interpreter directory. Makes InterpreterAssembler as subclass of CodeStubAssembler. As part of this change, the special bytecode dispatch linkage type is removed and instead we use a InterfaceDispatchDescriptor and a normal CodeStub linkage type. Removes a bunch of duplicated logic in InterpreterAssembler and instead uses the CodeStubAssembler logic. Refactors Interpreter with these changes. Modifies CodeStubAssembler to add the extra operations required by the Interpreter (extra call types, raw memory access and some extra binary ops). Also adds the ability for subclasses to add extra prologue and epilogue operations around calls, which is required for the Interpreter. BUG= Review URL: https://codereview.chromium.org/1696263002 Cr-Commit-Position: refs/heads/master@{#34011}
-
v8-autoroll authored
Rolling v8/tools/clang to 7a1ebdd9ae15490c88e87bf9b34417c318fe1986 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1702543002 Cr-Commit-Position: refs/heads/master@{#34010}
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=manual R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1697723002 Cr-Commit-Position: refs/heads/master@{#34009}
-
- 15 Feb, 2016 32 commits
-
-
bmeurer authored
There's no need to use a dedicated ChangeLoweringPhase before we go to GenericLoweringPhase; instead that change lowering (which is really simplified lowering by now) should run together with generic lowering. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1697133002 Cr-Commit-Position: refs/heads/master@{#34008}
-
verwaest authored
This avoids quite expensive computation further downstream. Review URL: https://codereview.chromium.org/1697173002 Cr-Commit-Position: refs/heads/master@{#34007}
-
mbrandy authored
Port 4eff883b c72b49bd Original commit message: Ideally we would not need the StoreWriteBarrier instructions at all, but represent the RecordWrite functionality as machine subgraph, but that'll take some time to get there. In the mean time we can have a shorter instruction sequence by recognizing immediate indices here. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1695333002 Cr-Commit-Position: refs/heads/master@{#34006}
-
mbrandy authored
Port e0129d0f Original commit message: Turn the fast case of ArgumentsAccessStub into a new stub FastNewSloppyArgumentsStub, which is similar to the existing FastNewStrictArgumentsStub, although not polished yet, and the slow case always went to the runtime anyway, so we can just directly emit a runtime call there. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1699923002 Cr-Commit-Position: refs/heads/master@{#34005}
-
mbrandy authored
Port 0d59772b Original commit message: for the special case where the same register is used as both left and right input. R=jkummerow@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1698903002 Cr-Commit-Position: refs/heads/master@{#34004}
-
balazs.kilvady authored
Port 09d84535 Original commit message: The FastNewStrictArgumentsStub is very similar to the recently added FastNewRestParameterStub, it's actually almost a copy of it, except that it doesn't have the fast case we have for the empty rest parameter. This patch improves strict arguments in TurboFan and fullcodegen by up to 10x compared to the previous version. Also introduce proper JSSloppyArgumentsObject and JSStrictArgumentsObject for the in-object properties instead of having them as constants in the Heap class. Drive-by-fix: Use this stub and the FastNewRestParameterStub in the interpreter to avoid the runtime call overhead for strict arguments and rest parameter creation. BUG= Review URL: https://codereview.chromium.org/1698173002 Cr-Commit-Position: refs/heads/master@{#34003}
-
cbruni authored
V8 tracks already most useful information, but lacks proper tracing scopes that make it possible to distinguish certain events from each other. - add trace-scope to track lazy-parsing due to optimization - add trace-scope to track code optimization BUG= Review URL: https://codereview.chromium.org/1661883003 Cr-Commit-Position: refs/heads/master@{#34002}
-
bmeurer authored
The GraphTrimmer should not ever see a dead node, except for the roots that are explicitly fed into it. To defend against this, turn the condition into a DCHECK. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1698883003 Cr-Commit-Position: refs/heads/master@{#34001}
-
bmeurer authored
Eventually compiler.h might need to depend on the Pipeline to manage its life cycle for concurrent recompilation, so we should not have the cyclic include dependency here. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1698113002 Cr-Commit-Position: refs/heads/master@{#34000}
-
titzer authored
R=ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1698133002 Cr-Commit-Position: refs/heads/master@{#33999}
-
jkummerow authored
Harvesting maps from the stub cache for megamorphic ICs is both slow (linear in the size of the stub cache) and imprecise (as it finds all maps that have a cached handler for the given property name). In the canonical megamorphic situation, this type feedback is useless anyway. The interesting case is when we can filter it down to a single map; however in these cases it is often possible to derive this map just by looking at the HGraph, which is both faster and more reliable. Review URL: https://codereview.chromium.org/1669213003 Cr-Commit-Position: refs/heads/master@{#33998}
-
ssanfilippo authored
Now the tool produces a far more readable output format, which bears a lot of resemblance to YAML. In fact, the output should be machine parseable as such, one document per testcase. However, the output format may be subject to changes in future, so don't rely on this property. In general, the output format has been optimized for producing a meaningful textual diff, while keeping a decent readability as well. Therefore, not everything is as compact as it could be, e.g. for an empty const pool we get: constant pool: [ ] instead of: constant pool: [] Also, trailing commas are always inserted in lists. Additionally, now the tool accepts its output format as input. When operating in this mode, all the snippets are extracted, processed and the output is then emitted as usual. If nothing has changed, the output should match the input. This is very useful for catching bugs in the bytecode generation by running a textual diff against a known-good file. The core (namely bytecode-expectations.cc) has been extracted from the original cc file, which provides the utility as usual. The definitions in the matching header of the library have been moved into the v8::internal::interpreter namespace. The library exposes a class ExpectationPrinter, with a method PrintExpectation, which takes a test snippet as input, and writes the formatted expectation to the supplied stream. One might then use a std::stringstream to retrieve the results as a string and run it through a diff utility. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1688383003 Cr-Commit-Position: refs/heads/master@{#33997}
-
jkummerow authored
for the special case where the same register is used as both left and right input. Review URL: https://codereview.chromium.org/1695283002 Cr-Commit-Position: refs/heads/master@{#33996}
-
verwaest authored
By not calling ReloadPropertyInformation, we avoid expensive descriptor array lookup. BUG= Review URL: https://codereview.chromium.org/1697153002 Cr-Commit-Position: refs/heads/master@{#33995}
-
jacob.bramley authored
This is effectively a port of 4eff883b (r27731). BUG= Review URL: https://codereview.chromium.org/1692253002 Cr-Commit-Position: refs/heads/master@{#33994}
-
titzer authored
Passing floating point params to/from C has never quite worked correctly, but we've never enforced the restriction early in the CallDescriptor creation process because of unittests. Fix unittests to make their own simple call descriptors and not rely on the C ones. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1701593003 Cr-Commit-Position: refs/heads/master@{#33993}
-
machenbach authored
This creates an isolate with the v8-side valgrind wrapper and the valgrind binaries from third_party. It's dynamically checked if the directories are present. Follow up after https://codereview.chromium.org/1585093002/ and https://codereview.chromium.org/1583933006/ BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1700673002 Cr-Commit-Position: refs/heads/master@{#33992}
-
bmeurer authored
Properly type String.prototype.concat, String.prototype.charCodeAt, and String.prototype.toLowerCase/toUpperCase in TurboFan. Also assign better type to %_StringCharFromCode. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1701673002 Cr-Commit-Position: refs/heads/master@{#33991}
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1698063002 Cr-Commit-Position: refs/heads/master@{#33990}
-
machenbach authored
This is to enable deduplicating performance tests. We'll create a hash of all relevant files and send it to perf bots alongside the other swarming hashes (follow up on infra side). This will not actually run on swarming yet, but could at some later point. This splits off the cctest executable from other verification test files, as those are not needed in performance tests. BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1695243002 Cr-Commit-Position: refs/heads/master@{#33989}
-
martyn.capewell authored
Improve instruction selector for mask and shift operations by using cheaper instructions where possible, in preference to UBFX. Reverted because it was suspected of causing a couple of flaky tests to fail, but investigation suggests this is unlikely. Original review: https://codereview.chromium.org/1677023002 BUG= Review URL: https://codereview.chromium.org/1684073006 Cr-Commit-Position: refs/heads/master@{#33988}
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1694183002 Cr-Commit-Position: refs/heads/master@{#33987}
-
bmeurer authored
Turn the fast case of ArgumentsAccessStub into a new stub FastNewSloppyArgumentsStub, which is similar to the existing FastNewStrictArgumentsStub, although not polished yet, and the slow case always went to the runtime anyway, so we can just directly emit a runtime call there. R=mstarzinger@chromium.org Committed: https://crrev.com/55b0b4f6d572531eec00ab6ebd8f6feb7c584e04 Cr-Commit-Position: refs/heads/master@{#33973} Review URL: https://codereview.chromium.org/1695633003 Cr-Commit-Position: refs/heads/master@{#33986}
-
mbrandy authored
Fixed frame size is larger when embedded constant pools are enabled. R=oth@chromium.org, rmcilroy@chromium.org, yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1692973002 Cr-Commit-Position: refs/heads/master@{#33985}
-
zhengxing.li authored
port 5de27c34(r33865) original commit message: Calls use registers for target, new_target and argument count. We don't always respect argument count. It didn't bite us in the past because the code paths where we clobbered it never used it, though in future it could be an issue. BUG= Review URL: https://codereview.chromium.org/1698823002 Cr-Commit-Position: refs/heads/master@{#33984}
-
yangguo authored
R=jkummerow@chromium.org BUG=v8:4757 LOG=N Review URL: https://codereview.chromium.org/1700693002 Cr-Commit-Position: refs/heads/master@{#33983}
-
titzer authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1694643004 Cr-Commit-Position: refs/heads/master@{#33982}
-
cbruni authored
This CL improves running our internal benchmarks locally by adding the --pretty option to tools/run_perf.py. With the flag enabled we print the run-time of each benchmark directly and avoid the json output at the end. NOTRY=true Review URL: https://codereview.chromium.org/1681283004 Cr-Commit-Position: refs/heads/master@{#33981}
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1695083002 Cr-Commit-Position: refs/heads/master@{#33980}
-
titzer authored
R=ahaas@chromium.org,aseemgarg@chromium.org BUG= Review URL: https://codereview.chromium.org/1699793002 Cr-Commit-Position: refs/heads/master@{#33979}
-
titzer authored
Add a section identifier for declaring a start function as an index into the function table. (This could also be done as a decl flag on the function, but don't feel strongly here, since we probably want to redo this when adding an import/export section.) The start function must accept no parameters. Its return value is currently ignored. R=binji@chromium.org,bradnelson@chromium.org BUG=chromium:575167 LOG=Y Review URL: https://codereview.chromium.org/1692173002 Cr-Commit-Position: refs/heads/master@{#33978}
-
oth authored
Adds support for ES6 super keyword and performing loads, stores, and calls to super class members. Implements SetHomeObject and enables ThisFunctionVariable. BUG=v8:4280,v8:4682 LOG=N Review URL: https://codereview.chromium.org/1689573004 Cr-Commit-Position: refs/heads/master@{#33977}
-