- 21 Aug, 2015 11 commits
-
-
binji authored
FutexEmulation::Wait can potentially block forever on a condition variable. We want to allow this to be interrupted (for a debugger, or to terminate the thread, for example). The previous implementation would periodically wake up the waiter to check for interrupts. This CL modifies the StackGuard so it wakes the blocked futex if the thread should be interrupted. BUG=chromium:497295 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1230303005 Cr-Commit-Position: refs/heads/master@{#30311}
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1304053004 Cr-Commit-Position: refs/heads/master@{#30308}
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1293283003 Cr-Commit-Position: refs/heads/master@{#30301}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1296713007 Cr-Commit-Position: refs/heads/master@{#30299}
-
wingo authored
BUG=v8:4211 LOG=Y R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1286383005 Cr-Commit-Position: refs/heads/master@{#30298}
-
rossberg authored
This CL is a nightmare! For the utterly irrelevant edge case of a sloppy function with non-simple parameters and a call to direct eval, like here, let x = 1; function f(g = () => x) { var y eval("var x = 2") return g() + x // f() = 3 } we have to do all of the following, on top of the declaration block ("varblock") contexts we already introduce around the body: - Introduce the ability for varblock contexts to have both a ScopeInfo and an extension object (e.g., the body varblock in the example will contain both a static var y and a dynamic var x). No other scope needs that. Since there are no context slots left, a special new struct is introduced that pairs up scope info and extension object. - When declaring lookup slots in the runtime, this new struct is allocated in the case where an extension object has to be added to a block scope (at which point the block's extension slot still contains a plain ScopeInfo). - While at it, introduce some abstraction to access context extension slots in a more controlled manner, in order to keep special-casing to a minimum. - Make sure that even empty varblock contexts do not get optimised away when they contain a sloppy eval, so that they can host the potential extension object. - Extend dynamic search for declaration contexts (used by sloppy direct eval) to recognize varblock contexts. - In the parser, if a function has a sloppy direct eval, introduce an additional varblock scope around each non-simple (desugared) parameter, as required by the spec to contain possible dynamic var bindings. - In the pattern rewriter, add the ability to hoist the named variables the pattern declares to an outer scope. That is required because the actual destructuring has to be evaluated inside the protecting varblock scope, but the bindings that the desugaring introduces are in the outer scope. - ScopeInfos need to save the information whether a block is a varblock, to make sloppy eval calls work correctly that deserialise them as part of the scope chain. - Add the ability to materialize block scopes with extension objects in the debugger. Likewise, enable setting extension variables in block scopes via the debugger interface. - While at it, refactor and unify some respective code in the debugger. Sorry, this CL is large. I could try to split it up, but everything is rather entangled. @mstarzinger: Please review the changes to contexts. @yangguo: Please have a look at the debugger stuff. R=littledan@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:811,v8:2160 LOG=N Review URL: https://codereview.chromium.org/1292753007 Cr-Commit-Position: refs/heads/master@{#30295}
-
rossberg authored
- Introduce a proper bit for SIMD primitive values. - Introduce constructors for individual SIMD types. These are currently just classes, which seems good enough for now, given that we always have exactly one global map per SIMD type. The only problem with using class types for SIMD is that a SIMD constant won't be a subtype of its specific type, only of the general SIMD type. But until we actually introduce SIMD constants into the compiler that shouldn't matter. R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1303863002 Cr-Commit-Position: refs/heads/master@{#30294}
-
mlippautz authored
BUG=chromium:520607 LOG=N Review URL: https://codereview.chromium.org/1302273002 Cr-Commit-Position: refs/heads/master@{#30287}
-
wingo authored
Not all parenthesized AssignmentExpressions whose components are valid binding patterns are valid arrow function formal parameters. In particular (a,b,c)() is not valid, and in general the existing code wasn't catching the tail productions of ConditionalExpression, BinaryExpression, PostfixExpression, LeftHandSideExpression, and MemberExpression. Thanks to Adrian Perez for the test case. BUG=v8:4211 LOG=Y R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1306583002 Cr-Commit-Position: refs/heads/master@{#30286}
-
yangguo authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1300333003 Cr-Commit-Position: refs/heads/master@{#30283}
-
mlippautz authored
GC flags are now part of the {Heap} and should be respected by all sub-components. Also add a infrastructure to write tests accessing private methods. Review URL: https://codereview.chromium.org/1301183002 Cr-Commit-Position: refs/heads/master@{#30281}
-
- 20 Aug, 2015 6 commits
-
-
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}
-
mstarzinger authored
This prevents leakage of the gc-tracer.h declarations inside of the heap and prevents it from being exposed to the world. Protects private state from being inadvertently mocked with. R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1294763004 Cr-Commit-Position: refs/heads/master@{#30276}
-
cbruni authored
Revert of Moving ArraySplice Builtin to ElementsAccessor (patchset #6 id:100001 of https://codereview.chromium.org/1293683005/ ) Reason for revert: failing bot http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/3827 Original issue's description: > - remove the Backing-Store speficic code from builtins.cc and put it in elements.cc. > - adding tests to improve coverage of the splice method > > BUG= > > Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3 > Cr-Commit-Position: refs/heads/master@{#30269} TBR=mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1305763002 Cr-Commit-Position: refs/heads/master@{#30271}
-
cbruni authored
- adding tests to improve coverage of the splice method BUG= Review URL: https://codereview.chromium.org/1293683005 Cr-Commit-Position: refs/heads/master@{#30269}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1285183010 Cr-Commit-Position: refs/heads/master@{#30263}
-
domenic authored
Embedders would use these for features which must be able to be turned off at runtime, despite being compiled into V8. They can be turned on and off by the embedder using the --experimental_extras flag, e.g. via v8::SetFlagsFromString. R=yangguo@chromium.org, mlippautz@chromium.org, hpayer@chromium.org BUG=chromium:507137 LOG=Y Review URL: https://codereview.chromium.org/1284413002 Cr-Commit-Position: refs/heads/master@{#30260}
-
- 19 Aug, 2015 8 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=v8:4378 TBR=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1305583002 . Cr-Commit-Position: refs/heads/master@{#30258}
-
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}
-
Ben Smith authored
BUG=chromium:518748 TBR=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1306443002 . Cr-Commit-Position: refs/heads/master@{#30256}
-
titzer authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1301583005 Cr-Commit-Position: refs/heads/master@{#30254}
-
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}
-
yangguo authored
TBR=hablich@chromium.org BUG=v8:4381 Review URL: https://codereview.chromium.org/1295513004 Cr-Commit-Position: refs/heads/master@{#30245}
-
ejcaruso authored
The ES6 spec for this function declares that ToLength should only be called once. We were evaluating it multiple times, so if length was an object with a valueOf method, we could see effects take place multiple times. R=littledan@chromium.org LOG=N BUG=v8:4218 Review URL: https://codereview.chromium.org/1237583005 Cr-Commit-Position: refs/heads/master@{#30240}
-
- 18 Aug, 2015 11 commits
-
-
Ben Smith authored
BUG=chromium:518748 TBR=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1290683004 . Cr-Commit-Position: refs/heads/master@{#30238}
-
Ben L. Titzer authored
TBR=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1295323003 . Cr-Commit-Position: refs/heads/master@{#30237}
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1299023002 Cr-Commit-Position: refs/heads/master@{#30235}
-
Ben Smith authored
Seems to fail only on V8 Linux - debug - code serializer (See http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20code%20serializer/builds/3762) BUG=chromium:518748 TBR=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1294163003 . Cr-Commit-Position: refs/heads/master@{#30233}
-
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}
-
rmcilroy authored
Adds implementations and tests for the following bytecodes: - LdaZero - LdaSmi8 - LdaUndefined - LdaNull - LdaTheHole - LdaTrue - LdaFalse - LdaLdar - LdaStar Also adds Smi tagging / untagging and OperandType typed BytecodeOperand operations to InterpreterAssembler. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1294793002 Cr-Commit-Position: refs/heads/master@{#30226}
-
bradnelson authored
Place a copy of the v8-native-prototype in third_party/wasm. GYP_DEFINES='v8_wasm=1' gclient runhooks BUG=None TEST=None R=titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1294543006 Cr-Commit-Position: refs/heads/master@{#30225}
-
yangguo authored
R=hablich@chromium.org BUG=v8:4378 LOG=N Review URL: https://codereview.chromium.org/1290383004 Cr-Commit-Position: refs/heads/master@{#30223}
-
oth authored
Bytecode generator for local assignment and basic binary operations. Command-line flag for printing bytecodes. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1294543002 Cr-Commit-Position: refs/heads/master@{#30221}
-
rmcilroy authored
Makes the following modifications to the interpreter builtins and InterpreterAssembler: - Adds an accumulator register and initializes it to undefined() - Adds a register file pointer register and use it instead of FramePointer to access registers - Modifies builtin to support functions with 0 regiters in the register file - Modifies builtin to Call rather than TailCall to first bytecode handler. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1289863003 Cr-Commit-Position: refs/heads/master@{#30219}
-
yangguo authored
TBR=hablich@chromium.org BUG=v8:4378 LOG=N Review URL: https://codereview.chromium.org/1295813006 Cr-Commit-Position: refs/heads/master@{#30216}
-
- 17 Aug, 2015 4 commits
-
-
Adam Klein authored
BUG=v8:4317 LOG=n TBR=littledan@chromium.org Review URL: https://codereview.chromium.org/1285983004 . Cr-Commit-Position: refs/heads/master@{#30207}
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1291113003 Cr-Commit-Position: refs/heads/master@{#30203}
-
mstarzinger authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1294093003 Cr-Commit-Position: refs/heads/master@{#30202}
-
rossberg authored
Based on caitp's https://codereview.chromium.org/1127063003/ R=adamk@chromium.org, littledan@chromium.org BUG=v8:2160 LOG=N Review URL: https://codereview.chromium.org/1287063004 Cr-Commit-Position: refs/heads/master@{#30192}
-