- 10 Feb, 2016 1 commit
-
-
verwaest authored
Mark null and undefined as undetectable, and use it to handle abstract equality comparison in the generic compare ic Marking as undetectable makes abstract equality of null, undefined, and other undetectable objects easier. Supporting it in the generic compare IC significantly speeds up dynamic comparison between those values and JSReceivers by not falling back to the runtime. MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com> Review URL: https://codereview.chromium.org/1683643002 Cr-Commit-Position: refs/heads/master@{#33858}
-
- 03 Feb, 2016 1 commit
-
-
mstarzinger authored
This clears the currently pending message object whenever a try-block or a finally-block is being entered in interpreted code. The intention is to avoid memory leaks introduced by the message object. Also the message object is being restored when a finally-block exits. R=rmcilroy@chromium.org TEST=cctest/test-heap/MessageObjectLeak BUG=v8:4674 LOG=n Review URL: https://codereview.chromium.org/1651993002 Cr-Commit-Position: refs/heads/master@{#33704}
-
- 28 Jan, 2016 1 commit
-
-
rmcilroy authored
Adds --trace-ignition flag which allows tracing of bytecodes as they execute. As well as printing out the bytecode, this also prints out the input and output registers to each operation. The generated output looks as follows: -> 0x350cb46d5264 (139) : 49 fc fb 03 07 Call r4, r5, #3, [7] [ accumulator -> 0x177fba00bc99 <JS Array[2]> ] [ r4 -> 0x350cb46ce099 <JS Function InstallFunctions (SharedFunctionInfo 0x350cb46470c1)> ] [ r5 -> 0x350cb46cddc1 <an Object with map 0x35fdf590a3a9> ] [ r6 -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ] [ r7 -> 2 ] [ accumulator <- 0x350cb4604189 <undefined> ] -> 0x350cb46d5978 (47) : 4b f8 00 00 00 CallRuntime [248], r0, #0 [ accumulator -> 0x350cb4604189 <undefined> ] [ accumulator <- 0x350cb4604189 <undefined> ] -> 0x350cb46d597d (52) : 23 09 Ldar a0 [ accumulator -> 0x350cb4604189 <undefined> ] [ a0 -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ] [ accumulator <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ] -> 0x350cb46d597f (54) : 24 fd Star r3 [ accumulator -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ] [ accumulator <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ] [ r3 <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ] Also adds support for --print_source and --print-ast to the interpreter. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1640213002 Cr-Commit-Position: refs/heads/master@{#33594}
-
- 15 Jan, 2016 1 commit
-
-
rmcilroy authored
Adds a ForInPrepare Runtime function which returns a triple of cache_type, cache_array and cache_length. This requires adding support to CEntryStub to call runtime functions which return a ObjectTriple - a struct containing three Object* pointers. Also did some cleanup of the x64 CEntryStub to avoid replicated code. Replaces the interpreter's use of the ad-hock InterpreterForInPrepare Runtime function with ForInPrepare in preparation for fixing deopt in BytecodeGraphBuilder for ForIn (which will be done in a followup CL). MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com>. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1576093004 Cr-Commit-Position: refs/heads/master@{#33334}
-
- 21 Dec, 2015 1 commit
-
-
oth authored
A pre-requisite for this change was changing the interpreter to use Runtime::ForInStep to bring the interpreter implementation closer to the turbofan implementation. Also required to flatten out the cache parameters into the interpreter frame for de-opt. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1531693002 Cr-Commit-Position: refs/heads/master@{#32986}
-
- 04 Dec, 2015 1 commit
-
-
cbruni authored
BUG=v8:1543 LOG=N Review URL: https://codereview.chromium.org/1496503002 Cr-Commit-Position: refs/heads/master@{#32616}
-
- 30 Nov, 2015 1 commit
-
-
neis authored
Use {FIRST,LAST}_JS_RECEIVER_TYPE instead. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1486563002 Cr-Commit-Position: refs/heads/master@{#32393}
-
- 29 Oct, 2015 1 commit
-
-
oth authored
For..in introduces 3 new bytecodes ForInPrepare, ForInNext, and ForInDone to start a for..in loop, get the next element, and check if the loop is done. For..in builds upon new LoopBuilder constructs for conditionally breaking and continuing during iteration: BreakIf{Null|Undefined} and ContinueIf{Null|Undefined}. New conditional jump bytecodes support this succinctly: JumpIfNull and JumpIfUndefined. Add missing check to BytecodeLabel that could allow multiple forward referencess to the same label which is not supported. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1422033002 Cr-Commit-Position: refs/heads/master@{#31651}
-
- 13 Oct, 2015 1 commit
-
-
rmcilroy authored
Adds function literal support and add support for OTHER_CALLS which can be made when calling a function literal. Adds the CreateClosure bytecode. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1396693003 Cr-Commit-Position: refs/heads/master@{#31231}
-
- 06 Oct, 2015 1 commit
-
-
oth authored
Implementations and tests for typeof, void, and logical not. Add missing string type to Object::TypeOf. BUG=v8:4280 LOG=NO Review URL: https://codereview.chromium.org/1390483002 Cr-Commit-Position: refs/heads/master@{#31124}
-
- 28 Sep, 2015 1 commit
-
-
oth authored
The comparison operators and ToBoolean are implemented by calling into the runtime. There are new runtime methods are prefixed with Interpreter to make use case clear. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1369123002 Cr-Commit-Position: refs/heads/master@{#30983}
-