- 20 Jun, 2016 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org, jgruber@chromium.org Review-Url: https://codereview.chromium.org/2072963003 Cr-Commit-Position: refs/heads/master@{#37089}
-
- 14 Jun, 2016 2 commits
-
-
ishell authored
The former will handle loads of predeclared global variables (vars and functions), lets, consts and undeclared variables. The latter will handle named loads from explicit receiver. In addition, named loads does not depend of the TypeofMode. TypeofMode related cleanup will be done in the follow-up CL. BUG=chromium:576312 LOG=Y TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1912633002 Cr-Commit-Position: refs/heads/master@{#36965}
-
cbruni authored
Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) Reason for revert: Cannot reproduce gc-stress failures locally. Original issue's description: > Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) > > Reason for revert: > failing tests > > Original issue's description: > > Replace all remaining Oddball checks with new function > > > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > > The new method all take the isolate as parameter. > > > > BUG= > > > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > > Cr-Commit-Position: refs/heads/master@{#36921} > > TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= > > Committed: https://crrev.com/33b8bc24a12fb062100c0be84456faeb0b9fa5d1 > Cr-Commit-Position: refs/heads/master@{#36923} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2059173002 Cr-Commit-Position: refs/heads/master@{#36957}
-
- 13 Jun, 2016 3 commits
-
-
cbruni authored
Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) Reason for revert: failing tests Original issue's description: > Replace all remaining Oddball checks with new function > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > The new method all take the isolate as parameter. > > BUG= > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > Cr-Commit-Position: refs/heads/master@{#36921} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2060213002 Cr-Commit-Position: refs/heads/master@{#36923}
-
mstarzinger authored
This makes the aforementioned visitation function independent of the target architecture by leveraging existing abstractions. R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2060173002 Cr-Commit-Position: refs/heads/master@{#36922}
-
cbruni authored
This CL removes the IsUndefined() and Co. methods from Object and HeapObject. The new method all take the isolate as parameter. BUG= Review-Url: https://codereview.chromium.org/2043183003 Cr-Commit-Position: refs/heads/master@{#36921}
-
- 10 Jun, 2016 2 commits
-
-
jyan authored
Port 757221e5 Original commit message: Neither globals nor lookup slots can be hole-initialized anymore, thus removing some dead code from the code generators and runtime-scopes. R=adamk@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/2060473002 Cr-Commit-Position: refs/heads/master@{#36902}
-
bjaideep authored
Port 757221e5 Original commit message: Neither globals nor lookup slots can be hole-initialized anymore, thus removing some dead code from the code generators and runtime-scopes. R=adamk@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2061443002 Cr-Commit-Position: refs/heads/master@{#36899}
-
- 09 Jun, 2016 3 commits
-
-
adamk authored
Neither globals nor lookup slots can be hole-initialized anymore, thus removing some dead code from the code generators and runtime-scopes. Review-Url: https://codereview.chromium.org/2051073004 Cr-Commit-Position: refs/heads/master@{#36876}
-
jyan authored
port 406146ff Original Commit Message: This makes sure we do not compile ToNumber stub on demand. This makes it easier to use during concurrent compilation. R=jarin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/2052963003 Cr-Commit-Position: refs/heads/master@{#36874}
-
jarin authored
This makes sure we do not compile ToNumber stub on demand. This makes it easier to use during concurrent compilation. Review-Url: https://codereview.chromium.org/2051113002 Cr-Commit-Position: refs/heads/master@{#36870}
-
- 06 Jun, 2016 1 commit
-
-
cbruni authored
Passing in the isolate and pointer compare the instnance against the corresponding constant is always faster than decoding the instance types. BUG= Review-Url: https://codereview.chromium.org/2028983002 Cr-Commit-Position: refs/heads/master@{#36744}
-
- 30 May, 2016 1 commit
-
-
joransiu authored
Jaideep has been regularly contributing PPC and S390 changes recently. Adding him as owner/reviewer to PPC / S390 specific directories. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2024533003 Cr-Commit-Position: refs/heads/master@{#36589}
-
- 27 May, 2016 4 commits
-
-
bmeurer authored
This was initially used to special case some weird date.js behavior, but has since been abused in other areas. In case of the string character access, everything that is outside the Smi range cannot be a valid string index anyways, so %NumberToSmi is perfect here in either case, and for ToPositiveInteger it's better to just use ToInteger adding +0 to turn -0 into +0. R=ishell@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2010183003 Cr-Commit-Position: refs/heads/master@{#36545}
-
franzih authored
Rewrite decodeURI and decodeURIComponent as builtin functions and install them in the bootstrapper. Delete unused runtime functions: - TruncateString - NewString - OneByteSeqStringGetChar - OneByteSeqStringSetChar - TwoByteSeqStringGetChar - TwoByteSeqStringSetChar Add regression test for decoding large strings. Clusterfuzz detected a problem with %TruncateString, see https://bugs.chromium.org/p/chromium/issues/detail?id=612109#c6 This is automatically fixed by this rewrite because %TruncateString is deleted anyways. Crude benchmark on 585 decodeURI and decodeURIComponent tests averaged over five runs: * builtin functions real 0m9.69s user 2m39.8816s sys 0m12.6398s * JS functions calling into the runtime e.g., for %TruncateString real 0m11.0598s user 3m6.7026s sys 0m13.5756s By running: $ time tools/run-tests.py --arch=x64 --mode=Release --buildbot test262/built-ins/decodeURI* mjsunit/uri >>> Running tests for x64.Release BUG=v8:4912, chromium:612109 R=yangguo@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1994733003 Cr-Commit-Position: refs/heads/master@{#36543}
-
bmeurer authored
This intrinsic (and the matching runtime entry) are no longer used by now and can thereby be removed. BUG=v8:5049 Review-Url: https://codereview.chromium.org/2016993003 Cr-Commit-Position: refs/heads/master@{#36540}
-
mvstanton authored
We get less "pollution" of type feedback if we have one vector per native context, rather than one for the whole system. This CL moves the vector appropriately. BUG= Review-Url: https://codereview.chromium.org/1906823002 Cr-Commit-Position: refs/heads/master@{#36539}
-
- 19 May, 2016 1 commit
-
-
zhengxing.li authored
X87: [Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. port 39738bc9 (r36310) original commit message: In order to support compiling to baseline on return we need to be able to return to the actual return address. With this change this is what the Return bytecode now does, removing the need for the InterpreterExitTrampoline. This change also removes the InterpreterNotifyDeoptXXX builtins and unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this change, FullCodegenerator::State is moved to Deoptimize::BailoutState. BUG= Review-Url: https://codereview.chromium.org/1987053006 Cr-Commit-Position: refs/heads/master@{#36344}
-
- 18 May, 2016 5 commits
-
-
jyan authored
PPC/S390: [Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. port 39738bc9 Original Commit Message: In order to support compiling to baseline on return we need to be able to return to the actual return address. With this change this is what the Return bytecode now does, removing the need for the InterpreterExitTrampoline. This change also removes the InterpreterNotifyDeoptXXX builtins and unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this change, FullCodegenerator::State is moved to Deoptimize::BailoutState. R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1989983002 Cr-Commit-Position: refs/heads/master@{#36336}
-
jyan authored
port 8e303dd0 R=bmeurer@chromium.org, yangguo@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:5010 Review-Url: https://codereview.chromium.org/1986343002 Cr-Commit-Position: refs/heads/master@{#36323}
-
rmcilroy authored
In order to support compiling to baseline on return we need to be able to return to the actual return address. With this change this is what the Return bytecode now does, removing the need for the InterpreterExitTrampoline. This change also removes the InterpreterNotifyDeoptXXX builtins and unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this change, FullCodegenerator::State is moved to Deoptimize::BailoutState. BUG=v8:4280 LOG=N Committed: https://crrev.com/34c9626e2ee56fe805de549697ca5323aed7cb66 Cr-Commit-Position: refs/heads/master@{#36288} Review-Url: https://codereview.chromium.org/1969423002 Cr-Commit-Position: refs/heads/master@{#36310}
-
zhengxing.li authored
port 8e303dd0 (r36276) original commit message: BUG= Review-Url: https://codereview.chromium.org/1989153002 Cr-Commit-Position: refs/heads/master@{#36305}
-
zhengxing.li authored
port 551e0aa1 (r36275) original commit message: This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. BUG= Review-Url: https://codereview.chromium.org/1991663002 Cr-Commit-Position: refs/heads/master@{#36303}
-
- 17 May, 2016 5 commits
-
-
machenbach authored
Revert of [Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. (patchset #6 id:170001 of https://codereview.chromium.org/1969423002/ ) Reason for revert: Breaks https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim/builds/619 Might only affect pure release builds? Original issue's description: > [Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. > > In order to support compiling to baseline on return we need to be able to > return to the actual return address. With this change this is what the > Return bytecode now does, removing the need for the > InterpreterExitTrampoline. > > This change also removes the InterpreterNotifyDeoptXXX builtins and > unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this > change, FullCodegenerator::State is moved to Deoptimize::BailoutState. > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/34c9626e2ee56fe805de549697ca5323aed7cb66 > Cr-Commit-Position: refs/heads/master@{#36288} TBR=mstarzinger@chromium.org,oth@chromium.org,rmcilroy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review-Url: https://codereview.chromium.org/1986353002 Cr-Commit-Position: refs/heads/master@{#36294}
-
jyan authored
port 551e0aa1 Original Commit Messag: This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. R=bmeurer@chromium.org, ishell@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com TBR=hpayer@chromium.org,rossberg@chromium.org BUG=chromium:597249, v8:4447 LOG=n Review-Url: https://codereview.chromium.org/1989523002 Cr-Commit-Position: refs/heads/master@{#36290}
-
rmcilroy authored
In order to support compiling to baseline on return we need to be able to return to the actual return address. With this change this is what the Return bytecode now does, removing the need for the InterpreterExitTrampoline. This change also removes the InterpreterNotifyDeoptXXX builtins and unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this change, FullCodegenerator::State is moved to Deoptimize::BailoutState. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1969423002 Cr-Commit-Position: refs/heads/master@{#36288}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5010 Review-Url: https://codereview.chromium.org/1980463002 Cr-Commit-Position: refs/heads/master@{#36276}
-
bmeurer authored
This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. R=ishell@chromium.org TBR=hpayer@chromium.org,rossberg@chromium.org BUG=chromium:597249, v8:4447 LOG=n Review-Url: https://codereview.chromium.org/1980483003 Cr-Commit-Position: refs/heads/master@{#36275}
-
- 13 May, 2016 1 commit
-
-
cbruni authored
By fully annotating the API with runtime counters we can properly measure how much time we spend in total in v8. When --runtime-call-stats is specified we now disable the fast-paths for callbacks to properly measure them. As a drive-by-fix this CL unifies the LOG messages in api.cc. Additionally we added missing timers to gain better resolution in the parser and callbacks. BUG= Review-Url: https://codereview.chromium.org/1923893002 Cr-Commit-Position: refs/heads/master@{#36248}
-
- 11 May, 2016 1 commit
-
-
mstarzinger authored
By now the runtime entry function in question is a duplicate of the existing Runtime_ToFastProperties function. This just gets rid of the duplication. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1963973003 Cr-Commit-Position: refs/heads/master@{#36161}
-
- 10 May, 2016 2 commits
-
-
adamk authored
Globals used to be hole-initialized in the case of toplevel legacy const declarations. But now that the only use of legacy const is for sloppy function expression names, we can unconditionally initialize globals to undefined instead of the_hole. Review-Url: https://codereview.chromium.org/1964993002 Cr-Commit-Position: refs/heads/master@{#36151}
-
mstarzinger authored
This implements declaration of lookup slots for variables and functions within optimized code. Such a declaration only appears with top-level eval code, which we only recently started handling in TurboFan. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1962723002 Cr-Commit-Position: refs/heads/master@{#36125}
-
- 09 May, 2016 2 commits
-
-
mstarzinger authored
This makes the aforementioned visitation function independent of the target architecture by leveraging existing abstractions. R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/1962663002 Cr-Commit-Position: refs/heads/master@{#36111}
-
mstarzinger authored
The bailout points for named and keyed property loads when doing super property calls are not being prepared by full-codegen, even though we are using them in TurboFan for deopts and stack traces. R=jarin@chromium.org TEST=mjsunit/regress/regress-4971 BUG=v8:4971 LOG=n Review-Url: https://codereview.chromium.org/1960083002 Cr-Commit-Position: refs/heads/master@{#36109}
-
- 04 May, 2016 4 commits
-
-
jyan authored
Code common with ObjectHasOwnProperty builtin was moved to CodeStubAssembler. R=ishell@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:2743 LOG=Y Review-Url: https://codereview.chromium.org/1946303002 Cr-Commit-Position: refs/heads/master@{#36037}
-
mstarzinger authored
This removes some low-level accessors from the CompilationInfo which only delegate to the ParseInfo. Instead we add a helper that computes the flags passed to DeclareGlobals for all backends. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/1952623002 Cr-Commit-Position: refs/heads/master@{#36030}
-
neis authored
BUG= Review-Url: https://codereview.chromium.org/1943893003 Cr-Commit-Position: refs/heads/master@{#36026}
-
neis authored
This fixes a bug where returning from a class literal inside a try-finally didn't restore the context properly when entering the finally clause. BUG=v8:4965 LOG=n Review-Url: https://codereview.chromium.org/1952633002 Cr-Commit-Position: refs/heads/master@{#36021}
-
- 03 May, 2016 2 commits
-
-
adamk authored
Compiler backends get their language mode from the current function, but should instead be deriving it from the current scope. This allows proper handling of the always-strictness of class declarations and expressions, and in particular the treatment of 'eval' calls in an extends clause as a strict eval. Also fix the parser's RecordEvalCall logic to only reach out to the DeclarationScope in sloppy mode, which fixes the strange case of a sloppy function thinking it contains a sloppy eval when in fact it contains only a strict eval. BUG=v8:4970 LOG=n Review-Url: https://codereview.chromium.org/1931003003 Cr-Commit-Position: refs/heads/master@{#36001}
-
ishell authored
Code common with ObjectHasOwnProperty builtin was moved to CodeStubAssembler. BUG=v8:2743 LOG=Y Review-Url: https://codereview.chromium.org/1894953004 Cr-Commit-Position: refs/heads/master@{#35972}
-