- 21 Jan, 2016 11 commits
-
-
yangguo authored
We divide character ranges into - BMP, matched normally. - non-BMP, matched as alternatives of surrogate pair ranges. - lone surrogates, matched with lookaround assertion that its indeed lone. R=erik.corry@gmail.com BUG=v8:2952 LOG=N Review URL: https://codereview.chromium.org/1578253005 Cr-Commit-Position: refs/heads/master@{#33432}
-
jarin authored
Revert of [turbofan] optimize spills in defered blocks (patchset #3 id:240001 of https://codereview.chromium.org/1551013002/ ) Reason for revert: Regresses lots of benchmarks: https://crbug.com/579900 Original issue's description: > [turbofan] optimize spills in defered blocks > > Up to now, for ranges spilled in deferred blocks, we would spill every > time a range would switch from using a register to spill slots. That can > be redundant, leading to avoidable code size cost. > > This change addresses this issue, by performing the spills as early as > possible. > > BUG= > > Committed: https://crrev.com/7c54dc33855b8ac31f26b309671f9b5481a74376 > Cr-Commit-Position: refs/heads/master@{#33413} TBR=bmeurer@chromium.org,mtrofin@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/1612013002 Cr-Commit-Position: refs/heads/master@{#33431}
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1605093002 Cr-Commit-Position: refs/heads/master@{#33430}
-
yangguo authored
A break location is considered muted if it has break points, but their conditions all evaluate to false. Aside from not triggering break events, debugger statements and exceptions are also ignored. R=verwaest@chromium.org BUG=chromium:429167 LOG=Y Review URL: https://codereview.chromium.org/1610073002 Cr-Commit-Position: refs/heads/master@{#33429}
-
zhengxing.li authored
port f48bf12f (r33426) original commit message: The PrepareId bailout location was used incorrectly in Crankshaft and, as it turns out, is not required anyway (once you do it right). Also there was some premature optimization going on with the CheckEnumCache (trying to load null from roots only once), plus we can be smarter about the null/undefined check anyway. The idea behind this changes is to prepare unification of the two different ForInPrepare implementations that we now have, with the end result being that we only use the new implementation that was recently added for the interpreter. BUG= Review URL: https://codereview.chromium.org/1611113002 Cr-Commit-Position: refs/heads/master@{#33428}
-
bmeurer authored
When a slow mode for-in loop is compiled with Crankshaft we unconditionally deoptimize when we hit an object with a usable enum-cache (which is currently hidden by another CL), and obviously we don't learn anything from that. R=jarin@chromium.org BUG=v8:3650 LOG=n Review URL: https://codereview.chromium.org/1611933003 Cr-Commit-Position: refs/heads/master@{#33427}
-
bmeurer authored
The PrepareId bailout location was used incorrectly in Crankshaft and, as it turns out, is not required anyway (once you do it right). Also there was some premature optimization going on with the CheckEnumCache (trying to load null from roots only once), plus we can be smarter about the null/undefined check anyway. The idea behind this changes is to prepare unification of the two different ForInPrepare implementations that we now have, with the end result being that we only use the new implementation that was recently added for the interpreter. R=jarin@chromium.org BUG=v8:3650 LOG=n Review URL: https://codereview.chromium.org/1618613002 Cr-Commit-Position: refs/heads/master@{#33426}
-
zhengxing.li authored
port 0b3066b8 (r33414) original commit message: This implements a first prototype of stack unwinding for interpreted frames. The unwinding machinery performs a range-based lookup in the given handler table and potentially continues dispatching at the handler offset. Note that this does not yet correctly restore the context to the correct value when the handler is being entered. BUG= Review URL: https://codereview.chromium.org/1616613002 Cr-Commit-Position: refs/heads/master@{#33425}
-
zhengxing.li authored
port 2dde677f (r33386) original commit message: This is the ia32/x64 version of https://codereview.chromium.org/873703002, which fixed the same problem on arm/arm64. BUG= Review URL: https://codereview.chromium.org/1606203003 Cr-Commit-Position: refs/heads/master@{#33424}
-
zhengxing.li authored
port d1d01964 (r33410) original commit message: The motivation for this is that CompilationInfo really shouldn't explicitly know anything about CodeStubs. This is evident in the TurboFan stubs pipeline, which only needs to pass down information about Code::Flags to the code generator and not any of the CallInterfaceDescriptor silliness that Hydrogen has to push around, since TF has the Linkage class that encapsulates everything that is needed for the stub ABI. So, instead of threading CodeStub machinery through the TF stub pipeline, it is now removed from CompilationInfo and replaced by only the explicit bits needed both by the Crankshaft and TF pipelines in code generation. BUG= Review URL: https://codereview.chromium.org/1611793003 Cr-Commit-Position: refs/heads/master@{#33423}
-
v8-autoroll authored
Rolling v8/build/gyp to aa0301be5a241c2972f90ce2a08097b63c916390 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1612883002 Cr-Commit-Position: refs/heads/master@{#33422}
-
- 20 Jan, 2016 25 commits
-
-
aseemgarg authored
R=titzer@chromium.org,aseemgarg@chromium.org BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-asm-validator, asm-wasm.js LOG=N Review URL: https://codereview.chromium.org/1609893002 Cr-Commit-Position: refs/heads/master@{#33421}
-
mike authored
Although the `for..in` statement allows Expressions to define the iterator, only an AssignmentExpression may occupy this position in the `for..of` statement. BUG=v8:4692 LOG=N R=adamk@chromium.org Review URL: https://codereview.chromium.org/1602823003 Cr-Commit-Position: refs/heads/master@{#33420}
-
adamk authored
Remove an unnecessary is_static argument to ParsePropertyName (the caller already has easy access to that information) and inline ParseIdentifierNameOrGetOrSet into its only caller. Review URL: https://codereview.chromium.org/1606193003 Cr-Commit-Position: refs/heads/master@{#33419}
-
mbrandy authored
Port 0b3066b8 Original commit message: This implements a first prototype of stack unwinding for interpreted frames. The unwinding machinery performs a range-based lookup in the given handler table and potentially continues dispatching at the handler offset. Note that this does not yet correctly restore the context to the correct value when the handler is being entered. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1612593002 Cr-Commit-Position: refs/heads/master@{#33418}
-
bmeurer authored
The Object.getOwnPropertyNames method always calls into C++ anyway, so there's no point in having the JavaScript wrapper around at all. Drive-by-fix: Inline GetOwnEnumerablePropertyNames into its single call site. CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_rel_ng R=yangguo@chromium.org Committed: https://crrev.com/bf027fe756f62b4abcac8aa08134c8c5ed055620 Cr-Commit-Position: refs/heads/master@{#33380} Review URL: https://codereview.chromium.org/1605803002 Cr-Commit-Position: refs/heads/master@{#33417}
-
bmeurer authored
We no longer have the concept of "JS builtins" exposed to handwritten native code, so there's no need to keep the InvokeBuiltin macro around. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1611613002 Cr-Commit-Position: refs/heads/master@{#33416}
-
bmeurer authored
This change improves performance for the common case of Object.getOwnPropertyDescriptor by up 3x-4x, where we just return a property descriptor object for a regular data or accessor property. CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_rel_ng R=yangguo@chromium.org Committed: https://crrev.com/ffa9e82235b20c523ebb1151c6196bc6232296b9 Cr-Commit-Position: refs/heads/master@{#33398} Review URL: https://codereview.chromium.org/1607943003 Cr-Commit-Position: refs/heads/master@{#33415}
-
mstarzinger authored
This implements a first prototype of stack unwinding for interpreted frames. The unwinding machinery performs a range-based lookup in the given handler table and potentially continues dispatching at the handler offset. Note that this does not yet correctly restore the context to the correct value when the handler is being entered. R=rmcilroy@chromium.org,oth@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1605633003 Cr-Commit-Position: refs/heads/master@{#33414}
-
mtrofin authored
Up to now, for ranges spilled in deferred blocks, we would spill every time a range would switch from using a register to spill slots. That can be redundant, leading to avoidable code size cost. This change addresses this issue, by performing the spills as early as possible. BUG= Review URL: https://codereview.chromium.org/1551013002 Cr-Commit-Position: refs/heads/master@{#33413}
-
ahaas authored
Platforms which do not provide rounding instructions (like x64 without sse4.1, arm before v8) fall back to this new soft float inplementation. BUG=575379 LOG=Y R=titzer@chromium.org Review URL: https://codereview.chromium.org/1611513003 Cr-Commit-Position: refs/heads/master@{#33412}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org LOG=Y BUG=chromium:575167 Review URL: https://codereview.chromium.org/1608743006 Cr-Commit-Position: refs/heads/master@{#33411}
-
danno authored
The motivation for this is that CompilationInfo really shouldn't explicitly know anything about CodeStubs. This is evident in the TurboFan stubs pipeline, which only needs to pass down information about Code::Flags to the code generator and not any of the CallInterfaceDescriptor silliness that Hydrogen has to push around, since TF has the Linkage class that encapsulates everything that is needed for the stub ABI. So, instead of threading CodeStub machinery through the TF stub pipeline, it is now removed from CompilationInfo and replaced by only the explicit bits needed both by the Crankshaft and TF pipelines in code generation. Review URL: https://codereview.chromium.org/1604543002 Cr-Commit-Position: refs/heads/master@{#33410}
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1601813009 Cr-Commit-Position: refs/heads/master@{#33409}
-
mythria authored
This is to fix some of the failing test262 tests with ignition flag. In few test262 tests, there is a throw from the script scope. Rewriter::Rewrite pass converts expression statements into assignment statements in script scope. This causes interpreter to fail because assignment expression expects a result in accumulator but throw statement does not return a value. To fix this, we now mark that accumulator contains a value when visiting throw statement. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1523423003 Cr-Commit-Position: refs/heads/master@{#33408}
-
mbrandy authored
Where possible: - eliminate special-case code generation for simulator. - eliminate #ifdefs. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1607663004 Cr-Commit-Position: refs/heads/master@{#33407}
-
sigurds authored
* Treat Select nodes as escaping * Correctly void virtual field information after a store to a non-const index * Add a shortcut if all allocates escape * Add a shortcut if no allocates are discovered * Only reduce FrameState/StateValues nodes if they have virtual allocates as input (transitively) * Fix bug in FrameState/StateValues duplication * Add check to verifier: First 3 inputs of FrameState must be StateValues R=mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1583213003 Cr-Commit-Position: refs/heads/master@{#33406}
-
cbruni authored
Currently we fail to properly handle shadowed properties. If the receiver defines a non-enumerable property that reappears on the prototype as enumerable it incorrectly shows up in [[Enumerate]]. By extending the KeyAccumulator to track non-enumerable properties we can now properly filter them out when seeing them further up in the prototype-chain. BUG=v8:705 LOG=y Review URL: https://codereview.chromium.org/1608523002 Cr-Commit-Position: refs/heads/master@{#33405}
-
hablich authored
Revert of [builtins] Migrate Object.getOwnPropertyDescriptor to C++. (patchset #1 id:1 of https://codereview.chromium.org/1606783002/ ) Reason for revert: Breaks roll: https://codereview.chromium.org/1603953002/ Original issue's description: > [builtins] Migrate Object.getOwnPropertyDescriptor to C++. > > The implementation of Object.getOwnPropertyDescriptor always called into > C++ anyway, so there's no need to have this JavaScript wrapper around at > all. > > R=yangguo@chromium.org > > Committed: https://crrev.com/3fdd37b028f4711d0f6dcb038f575ce08ef0cfa3 > Cr-Commit-Position: refs/heads/master@{#33379} TBR=yangguo@chromium.org,bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1609023003 Cr-Commit-Position: refs/heads/master@{#33404}
-
hablich authored
Revert of [runtime] Introduce maps for the likely cases of FromPropertyDescriptor. (patchset #1 id:1 of https://codereview.chromium.org/1607943003/ ) Reason for revert: Predecessor CL suspect for roll breakage: https://codereview.chromium.org/1610563002 Original issue's description: > [runtime] Introduce maps for the likely cases of FromPropertyDescriptor. > > This change improves performance for the common case of > Object.getOwnPropertyDescriptor by up 3x-4x, where we just > return a property descriptor object for a regular data or > accessor property. > > R=yangguo@chromium.org > > Committed: https://crrev.com/ffa9e82235b20c523ebb1151c6196bc6232296b9 > Cr-Commit-Position: refs/heads/master@{#33398} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1604243002 Cr-Commit-Position: refs/heads/master@{#33403}
-
mstarzinger authored
This removes the above flag definition. The flag is no longer needed as the default implementation is more than capable of faking presence of handling of try-catch and try-finally constructs by now. R=rmcilroy@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1603063003 Cr-Commit-Position: refs/heads/master@{#33402}
-
mstarzinger authored
R=oth@chromium.org Review URL: https://codereview.chromium.org/1608693004 Cr-Commit-Position: refs/heads/master@{#33401}
-
mstarzinger authored
This implements a first version of exception handler table construction within the interpreter. Note that the local control flow for try-catch and try-finally statements is still off, and also stack unwinding does not yet respect interpreter frames. But generated handler tables should be populated correctly already. R=oth@chromium.org BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1607433005 Cr-Commit-Position: refs/heads/master@{#33400}
-
hablich authored
Revert of [runtime] Migrate Object.getOwnPropertyNames to C++. (patchset #2 id:20001 of https://codereview.chromium.org/1605803002/ ) Reason for revert: Breaks roll: https://codereview.chromium.org/1603953002/ Original issue's description: > [runtime] Migrate Object.getOwnPropertyNames to C++. > > The Object.getOwnPropertyNames method always calls into C++ anyway, > so there's no point in having the JavaScript wrapper around at all. > > Drive-by-fix: Inline GetOwnEnumerablePropertyNames into its single > call site. > > R=yangguo@chromium.org > > Committed: https://crrev.com/bf027fe756f62b4abcac8aa08134c8c5ed055620 > Cr-Commit-Position: refs/heads/master@{#33380} TBR=yangguo@chromium.org,bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1609173002 Cr-Commit-Position: refs/heads/master@{#33399}
-
bmeurer authored
This change improves performance for the common case of Object.getOwnPropertyDescriptor by up 3x-4x, where we just return a property descriptor object for a regular data or accessor property. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1607943003 Cr-Commit-Position: refs/heads/master@{#33398}
-
v8-autoroll authored
Rolling v8/tools/clang to 9c45873bbb82dc33f5f88f5c7dbc06ee9ecc7e8f TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1610483002 Cr-Commit-Position: refs/heads/master@{#33397}
-
- 19 Jan, 2016 4 commits
-
-
adamk authored
The old handling of escaped keywords erroneously treated escaped versions of "let" and "static" as ESCAPED_KEYWORD, leading to erroneous errors in sloppy mode. Moreover, though the class literal parsing code attempted to fix up the parsing of escaped versions of "static" to allow it in the right places, that code wasn't complete. Fixing the scanner to mark escaped "static" as ESCAPED_STRICT_RESERVED_WORD allows simplifying the class literal parsing code. A little extra code was needed to properly handle the new treatment of escaped "let". Note that "yield" is still broken (that is, we're overly restrictive of escaped "yield" in sloppy mode). Review URL: https://codereview.chromium.org/1602013007 Cr-Commit-Position: refs/heads/master@{#33396}
-
mlippautz authored
The dust has settled and it can now be used like any other header file R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1605973002 Cr-Commit-Position: refs/heads/master@{#33395}
-
hpayer authored
Revert of Tenure descriptor arrays. (patchset #1 id:1 of https://codereview.chromium.org/1526663002/ ) Reason for revert: Regresses memory consumption. BUG=571180,571657 LOG=n Original issue's description: > Tenure descriptor arrays. > > BUG= > > Committed: https://crrev.com/74bc69166de8cfb967e79b5c8cc31c2a76490dc8 > Cr-Commit-Position: refs/heads/master@{#32846} TBR=ishell@chromium.org,ulan@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1606003002 Cr-Commit-Position: refs/heads/master@{#33394}
-
littledan authored
This patch implements one aspect of ES2015 RegExp subclassing: String.prototype.replace is separated into two parts, a method on RegExp.prototype in case the first argument is a RegExp, and the String.prototype.replace method, which handles the string pattern case. This separation is described in the ES2015 specification. Most of the patch is simply moving code from string.js to regexp.js. R=yangguo LOG=Y BUG=v8:4343 Review URL: https://codereview.chromium.org/1590673002 Cr-Commit-Position: refs/heads/master@{#33393}
-