- 08 Sep, 2015 1 commit
-
-
mstarzinger authored
This switches Isolate::ComputeLocation to use baseline code when computing message locations. This unifies locations between optimized and non-optimized code by always going through the FrameSummary for location computation. R=bmeurer@chromium.org TEST=message/regress/regress-4266 BUG=v8:4266 LOG=n Review URL: https://codereview.chromium.org/1331603002 Cr-Commit-Position: refs/heads/master@{#30635}
-
- 02 Sep, 2015 1 commit
-
-
ishell authored
BUG=chromium:523307 LOG=N Review URL: https://codereview.chromium.org/1304923003 Cr-Commit-Position: refs/heads/master@{#30538}
-
- 01 Sep, 2015 1 commit
-
-
binji authored
Having both flags is tedious, and it is unlikely you'd ever want them separately. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1304163010 Cr-Commit-Position: refs/heads/master@{#30523}
-
- 31 Aug, 2015 1 commit
-
-
cbruni authored
- Move fast paths from builtins.cc ArraySlice to ElementsAccessor - Handle more argument types in the fast path BUG= Review URL: https://codereview.chromium.org/1321773002 Cr-Commit-Position: refs/heads/master@{#30471}
-
- 28 Aug, 2015 3 commits
-
-
littledan authored
This patch changes the switch scope desugaring to create blocks which propagate their 'return value' for eval. BUG=v8:4399 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1309303006 Cr-Commit-Position: refs/heads/master@{#30454}
-
littledan authored
Switch statements introduce their own scope for cases, but this scope is not necessarily executed in order, as the following function shows: switch (x) { case 1: let y = 1; case 2: y = 2; case 3: print(y); } If x = 2 or x = 3, the code should throw a ReferenceError. However, FullCodeGen's hole check elimination used the simple algorithm of assuming that if the initializer was in the same scope, then it was reached before the use, and therefore the hole check could be eliminated. This patch adds an extra bit to scopes, to track if they may nonlinearly. The parser marks the scope that switch introduces as nonlinear. FullCodeGen does not eliminate the hole check from a scope which is nonlinear. This patch refactors FullCodeGen to put the hole check elimination in one place, rather than in each backend. BUG=v8:3926 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1312613003 Cr-Commit-Position: refs/heads/master@{#30453}
-
Benedikt Meurer authored
The magic "print(i)" work-around was no longer work-arounding correctly, so we do the right thing instead now. TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1306843004 . Cr-Commit-Position: refs/heads/master@{#30436}
-
- 26 Aug, 2015 2 commits
-
-
mstarzinger authored
This fixes broken dynamic hole-checks for the temporal dead zone of non-initializing assignments to {let} and {const} declared variables. Also note that this exemplifies a case where the dynamic check for such assignments to {let} declared variables can no longer be elided as the comment suggested. R=rossberg@chromium.org TEST=mjsunit/regress/regress-4388 BUG=v8:4388 LOG=n Review URL: https://codereview.chromium.org/1318693002 Cr-Commit-Position: refs/heads/master@{#30375}
-
ishell authored
BUG=chromium:523213 LOG=N Review URL: https://codereview.chromium.org/1313303002 Cr-Commit-Position: refs/heads/master@{#30374}
-
- 25 Aug, 2015 1 commit
-
-
bmeurer authored
The previous hack with HInstanceOfKnownGlobal was not only slower, but also very brittle and required a lot of weird hacks to support it. And what's even more important it wasn't even correct (because a map check on the lhs is never enough for instanceof). The new implementation provides a sane runtime implementation for InstanceOf plus a fast case in the InstanceOfStub, combined with a proper specialization in the case of a known global in CrankShaft, which does only the prototype chain walk (coupled with a code dependency on the known global). As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf implementation. BUG=v8:4376 LOG=y Review URL: https://codereview.chromium.org/1304633002 Cr-Commit-Position: refs/heads/master@{#30342}
-
- 24 Aug, 2015 3 commits
-
-
littledan authored
The ES2015 specification for switch statements 13.12.11 specifies that they get their own lexical scope. This patch introduces such a scope through a complex desugaring in terms of blocks, done so that Crankshaft does not have to be updated to support multiple constructs providing scopes. Recommitting this patch after a bug fix in Crankshaft to allow a desugaring with certain elements missing a source location: https://codereview.chromium.org/1313443002 BUG=v8:4377 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1309163003 Cr-Commit-Position: refs/heads/master@{#30340}
-
mstarzinger authored
The simulator uses a separate JS stack, exhaustion of the C stack however is not caught by JS limit checks. This change now lowers the limit of the JS stack accordingly on function calls. R=mvstanton@chromium.org BUG=chromium:522380 TEST=mjsunit/regress/regress-crbug-522380 LOG=n Review URL: https://codereview.chromium.org/1314623002 Cr-Commit-Position: refs/heads/master@{#30334}
-
yangguo authored
R=cbruni@chromium.org BUG=chromium:523308 LOG=N Review URL: https://codereview.chromium.org/1314543004 Cr-Commit-Position: refs/heads/master@{#30330}
-
- 22 Aug, 2015 2 commits
-
-
littledan authored
Revert of Add a separate scope for switch (patchset #7 id:120001 of https://codereview.chromium.org/1293283002/ ) Reason for revert: Breaks cctest/test-cpu-profiler/SourceLocation on nosnap Original issue's description: > Add a separate scope for switch > > The ES2015 specification for switch statements 13.12.11 specifies that > they get their own lexical scope. This patch introduces such a scope > through a complex desugaring in terms of blocks, done so that Crankshaft > does not have to be updated to support multiple constructs providing > scopes. > > BUG=v8:4377 > LOG=Y > R=adamk > > Committed: https://crrev.com/9edbc1f21eb1050cabbe3b8bc9aebf89ada7ebd7 > Cr-Commit-Position: refs/heads/master@{#30314} TBR=adamk@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4377 Review URL: https://codereview.chromium.org/1309043004 Cr-Commit-Position: refs/heads/master@{#30316}
-
littledan authored
The parser has special behavior with respect to the bindings of inner functions in sloppy mode which are not at the top level of scopes. This behavior should be turned off when the --harmony-sloppy-function flag is set, as lexical scoping rules are used instead. Previously, the incorrect flag --harmony-sloppy was used, resulting in a crashing bug. BUG=chromium:520029 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1303033003 Cr-Commit-Position: refs/heads/master@{#30315}
-
- 21 Aug, 2015 1 commit
-
-
littledan authored
The ES2015 specification for switch statements 13.12.11 specifies that they get their own lexical scope. This patch introduces such a scope through a complex desugaring in terms of blocks, done so that Crankshaft does not have to be updated to support multiple constructs providing scopes. BUG=v8:4377 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1293283002 Cr-Commit-Position: refs/heads/master@{#30314}
-
- 20 Aug, 2015 1 commit
-
-
yangguo authored
The code should do what the comment says :) R=mstarzinger@chromium.org BUG=chromium:522895 LOG=N Review URL: https://codereview.chromium.org/1300363002 Cr-Commit-Position: refs/heads/master@{#30278}
-
- 19 Aug, 2015 3 commits
-
-
adamk authored
Zero-length ArrayBuffers are allowed to have NULL backing stores. BUG=522496 LOG=n Review URL: https://codereview.chromium.org/1302803003 Cr-Commit-Position: refs/heads/master@{#30259}
-
Ben Smith authored
BUG=chromium:518748 R=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1297403002 . Cr-Commit-Position: refs/heads/master@{#30257}
-
jarin authored
BUG=chromium:455207 LOG=n R=ulan@chromium.org Review URL: https://codereview.chromium.org/1040703003 Cr-Commit-Position: refs/heads/master@{#30249}
-
- 18 Aug, 2015 1 commit
-
-
binji authored
BUG=chromium:518748 R=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1284683004 Cr-Commit-Position: refs/heads/master@{#30230}
-
- 11 Aug, 2015 3 commits
-
-
yangguo authored
This avoids many back-and-forth calls to the runtime. This also slightly changes the way we avoid getters. Previously, we circumvent getting the name property of ReferenceError, SyntaxError and TypeError due to crbug/69187 (in order to avoid leaking information from those errors through a 'name' getter installed on their prototypes). Now we do that for all errors created by V8. R=jkummerow@chromium.org, rossberg@chromium.org BUG=crbug:513472, crbug:69187 LOG=N Review URL: https://codereview.chromium.org/1281833002 Cr-Commit-Position: refs/heads/master@{#30105}
-
yangguo authored
R=mstarzinger@chromium.org BUG=chromium:517592 LOG=N Review URL: https://codereview.chromium.org/1285793002 Cr-Commit-Position: refs/heads/master@{#30104}
-
binji authored
BUG=chromium:518747 R=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1277543006 Cr-Commit-Position: refs/heads/master@{#30099}
-
- 06 Aug, 2015 2 commits
-
-
yangguo authored
R=adamk@chromium.org BUG=chromium:516775 LOG=N Review URL: https://codereview.chromium.org/1270403002 Cr-Commit-Position: refs/heads/master@{#30042}
-
jkummerow authored
The maximum valid index is strictly smaller than the maximum valid length. BUG=chromium:516592 LOG=y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1278703003 Cr-Commit-Position: refs/heads/master@{#30040}
-
- 05 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1269323003 Cr-Commit-Position: refs/heads/master@{#30023}
-
- 04 Aug, 2015 2 commits
-
-
adamk authored
To avoid tanking context startup performance, only the actual installation of the JS-exposed API is flag-guarded. The remainder of the implementation still resides in the snapshot. Review URL: https://codereview.chromium.org/1257063003 Cr-Commit-Position: refs/heads/master@{#30017}
-
mstarzinger authored
This introduces a CopyFixedArrayAndGrow method on Factory that takes the "grow amount" instead of the "new size" as an argument. The new interface is safer because it allows for mutations by the GC that potentially trim the source array. This also fixes a bug in SharedFunctionInfo::AddToOptimizedCodeMap where the aformentioned scenario led to unused entries within the optimized code map. Note that FixedArray::CopySize is hereby deprecated because it is considered unsafe and should no longer be used. R=hpayer@chromium.org TEST=mjsunit/regress/regress-crbug-513507 BUG=chromium:513507 LOG=n Review URL: https://codereview.chromium.org/1255173006 Cr-Commit-Position: refs/heads/master@{#30012}
-
- 03 Aug, 2015 2 commits
-
-
binji authored
BUG=chromium:514081 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1264723002 Cr-Commit-Position: refs/heads/master@{#29982}
-
jarin authored
The calculation now takes into account the size of the arguments object if it is present in the optimized frame. (Yang, many thanks for the awesome repro!) BUG=chromium:514362 LOG=N R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1264483008 Cr-Commit-Position: refs/heads/master@{#29973}
-
- 31 Jul, 2015 1 commit
-
-
jochen authored
R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1261123003 Cr-Commit-Position: refs/heads/master@{#29946}
-
- 30 Jul, 2015 2 commits
-
-
yangguo authored
This fix makes the redirect mechanism a bit more stable. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1269733002 Cr-Commit-Position: refs/heads/master@{#29936}
-
binji authored
When the main thread terminates, it forcibly terminates all Worker threads. When this happens, the threads objects were only half-created; they had a JavaScript Worker object, but not a C++ worker object. This CL fixes that bug, as well as some other fixes: * Signatures on Worker methods * Use SetAlignedPointerFromInternalField instead of using an External. * Remove state_ from Worker. Simplify to atomic bool running_. BUG=chromium:511880 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1255563002 Cr-Commit-Position: refs/heads/master@{#29911}
-
- 28 Jul, 2015 1 commit
-
-
jkummerow authored
When a prototype object migrates from a slow to a fast map, where the slow map was registered as a user of its own prototype, then the registration must be transferred to the new map (just like MigrateToMap does for all other cases). BUG=chromium:513602 LOG=y NOTREECHECKS=true Review URL: https://codereview.chromium.org/1263543004 Cr-Commit-Position: refs/heads/master@{#29898}
-
- 27 Jul, 2015 2 commits
-
-
bmeurer authored
We don't need the hole check and slow runtime mode for read-only properties this way. R=ishell@chromium.org Review URL: https://codereview.chromium.org/1255133002 Cr-Commit-Position: refs/heads/master@{#29881}
-
ishell authored
Review URL: https://codereview.chromium.org/1259853002 Cr-Commit-Position: refs/heads/master@{#29860}
-
- 24 Jul, 2015 1 commit
-
-
yangguo authored
BUG=v8:4320 LOG=N R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1255803004 Cr-Commit-Position: refs/heads/master@{#29842}
-
- 23 Jul, 2015 1 commit
-
-
danno authored
Previous to this CL, ICs used a slightly different code idiom to get to C++ code from generated code than runtime intrinsics, using an IC_Utility class that in essence provided exactly the same functionality as Runtime::FunctionForId, but in its own quirky way. This CL unifies the two mechanisms, folding IC_Utility away by making all IC entry points in C++ code, e.g. IC miss handlers, full-fledged runtime intrinsics. This makes it possible to eliminate a bunch of ad-hoc declarations and adapters that the IC system had to needlessly re-invent. As a bonus and the original reason for this yak-shave: IC-related C++ runtime functions are now callable from TurboFan. Review URL: https://codereview.chromium.org/1248303002 Cr-Commit-Position: refs/heads/master@{#29811}
-
- 20 Jul, 2015 1 commit
-
-
ishell authored
BUG=chromium:505007 LOG=N Review URL: https://codereview.chromium.org/1238273003 Cr-Commit-Position: refs/heads/master@{#29747}
-