- 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 3 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}
-
yangguo authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1942163002 Cr-Commit-Position: refs/heads/master@{#35960}
-
- 02 May, 2016 1 commit
-
-
adamk authored
Also mark VisitSuperCallReference as unreachable, as it's handled by VisitCall. R=mstarzinger@chromium.org BUG=v8:4967 LOG=n Review-Url: https://codereview.chromium.org/1929213002 Cr-Commit-Position: refs/heads/master@{#35945}
-
- 29 Apr, 2016 1 commit
-
-
rmcilroy authored
Adapts FastCloneShallowObjectStub to enable it to be used by the CreateObjectLiteral bytecode. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1922523002 Cr-Commit-Position: refs/heads/master@{#35909}
-
- 28 Apr, 2016 1 commit
-
-
bryleun authored
Port 9bf7a31a Original commit message: Default (and only way) is now to retrieve a tagged object. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/1929673002 Cr-Commit-Position: refs/heads/master@{#35874}
-
- 27 Apr, 2016 1 commit
-
-
bjaideep authored
Port ef49c6b1 Original commit message: Default (and only way) is now to retrieve a tagged object. R=mlippautz@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=chromium:606711 LOG=N Review-Url: https://codereview.chromium.org/1917353002 Cr-Commit-Position: refs/heads/master@{#35829}
-
- 26 Apr, 2016 1 commit
-
-
mlippautz authored
Default (and only way) is now to retrieve a tagged object. BUG=chromium:606711 LOG=N Review URL: https://codereview.chromium.org/1922553002 Cr-Commit-Position: refs/heads/master@{#35792}
-
- 25 Apr, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org, rossberg@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1906653004 Cr-Commit-Position: refs/heads/master@{#35750}
-
- 22 Apr, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1903223003 Cr-Commit-Position: refs/heads/master@{#35729}
-
- 20 Apr, 2016 2 commits
-
-
jyan authored
Port 59546149 Original commit message: Now that all 'const' declarations are of the ES2015 variety, the only use of CONST_LEGACY is for function name bindings in sloppy mode named function expressions. This patch aims to delete all code meant to handle other cases, which mostly had to do with hole initialization/hole checks. Since function name bindings are initialized at entry to a function, it's impossible to ever observe one in an uninitialized state. To simplify the patch further, it removes the `IMPORT` VariableMode, as it's not likely to be needed (IMPORT is identical to CONST for the purpose of VariableMode). R=adamk@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review URL: https://codereview.chromium.org/1901423004 Cr-Commit-Position: refs/heads/master@{#35673}
-
zhengxing.li authored
port 59546149 (r35632) original commit message: Now that all 'const' declarations are of the ES2015 variety, the only use of CONST_LEGACY is for function name bindings in sloppy mode named function expressions. This patch aims to delete all code meant to handle other cases, which mostly had to do with hole initialization/hole checks. Since function name bindings are initialized at entry to a function, it's impossible to ever observe one in an uninitialized state. To simplify the patch further, it removes the `IMPORT` VariableMode, as it's not likely to be needed (IMPORT is identical to CONST for the purpose of VariableMode). BUG= Review URL: https://codereview.chromium.org/1902943003 Cr-Commit-Position: refs/heads/master@{#35641}
-
- 19 Apr, 2016 1 commit
-
-
bjaideep authored
Port 59546149 Original commit message: Now that all 'const' declarations are of the ES2015 variety, the only use of CONST_LEGACY is for function name bindings in sloppy mode named function expressions. This patch aims to delete all code meant to handle other cases, which mostly had to do with hole initialization/hole checks. Since function name bindings are initialized at entry to a function, it's impossible to ever observe one in an uninitialized state. To simplify the patch further, it removes the `IMPORT` VariableMode, as it's not likely to be needed (IMPORT is identical to CONST for the purpose of VariableMode). 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/1902163003 Cr-Commit-Position: refs/heads/master@{#35635}
-