- 22 Sep, 2015 1 commit
-
-
dpranke authored
We need to build parts of v8 with a toolchain that might be different from both the default (target) toolchain and the regular host toolchain, because we need the snapshot to have the same bit-width as the target. V8's build defines a 'snapshot_toolchain' setting for this. It turns out that we need the value of this toolchain to be exposed to the Chromium build because some of the test targets (in browser_tests) depend on d8 and need to be able to built using the same toolchain. R=brett@chromium.org, jochen@chromium.org BUG= Review URL: https://codereview.chromium.org/1350223004 Cr-Commit-Position: refs/heads/master@{#30854}
-
- 18 Sep, 2015 2 commits
-
-
adamk authored
It's been enabled since M45, which is now well into its stable period, with no problems reported. Review URL: https://codereview.chromium.org/1356793002 Cr-Commit-Position: refs/heads/master@{#30835}
-
brettw authored
The previous code took advantage of the fact that a group's deps are implicitly public, but I'm trying to fix that. This also cleans up some duplicated code between component and non-component builds. Review URL: https://codereview.chromium.org/1356723002 Cr-Commit-Position: refs/heads/master@{#30820}
-
- 15 Sep, 2015 2 commits
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1343043002 Cr-Commit-Position: refs/heads/master@{#30746}
-
brettw authored
The conditionals were added to facilitate a two-sided build GN config update where the default optimization config was renamed. This is complete so the transitional code can be removed. Review URL: https://codereview.chromium.org/1338163003 Cr-Commit-Position: refs/heads/master@{#30733}
-
- 14 Sep, 2015 1 commit
-
-
mstarzinger authored
This moves scavenging functionality into a separate component so that neither the scavenger nor objects-visiting need to be exposed outside the heap. R=hpayer@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1323993004 Cr-Commit-Position: refs/heads/master@{#30712}
-
- 11 Sep, 2015 1 commit
-
-
brettw authored
The GN default optimization flag is changing from being specific to the debug/release status of the build to always being "default_optimization" so it's easier to override without being conditional on the exact setup in BUILDCONFIG.gn. See https://codereview.chromium.org/1324623005/ Since V8 is DEPS-ed in, it will need to support both modes to allow a landing. This patch uses a temporary transitional flag I added to BUILDCONFIG to indicate which variant should be used. After the patch is landed, we can remove the new conditions and just remove default_optimization. Review URL: https://codereview.chromium.org/1333963002 Cr-Commit-Position: refs/heads/master@{#30703}
-
- 10 Sep, 2015 2 commits
-
-
oth authored
Add skeleton version bytecode-graph-builder.{h,cc} for existing bytecodes. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1291693004 Cr-Commit-Position: refs/heads/master@{#30687}
-
bmeurer authored
Replace the ADD, SUB, etc. builtins with proper runtime implementations, and expose them as runtime calls that can be used by the code stubs and the interpreter (for now). Also remove all the support runtime functions for ADD, SUB and friends, namely %NumberAdd, %NumberSub, and so on. R=mstarzinger@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg Review URL: https://codereview.chromium.org/1333843002 Cr-Commit-Position: refs/heads/master@{#30680}
-
- 08 Sep, 2015 2 commits
-
-
ulan authored
This moves incremental marking steps from gc-idle-time-handler and heap to the new incremental marking task. BUG=chromium:490559 LOG=NO Review URL: https://codereview.chromium.org/1265423002 Cr-Commit-Position: refs/heads/master@{#30641}
-
vogelheim authored
- Modify js2c to accept --js and --nojs, - modify mksnapshot to accept --startup_src (instead of a positional parameter, so that it can be omitted), - modify v8.gyp to use the above so that no target has multiple output dependencies, and - update GN to use the switches above. (I have not succeeded in fixing the GYP->make translator to properly map multi-output rules, so that they work as expected in all edge cases. This CL signals defeat on that front, and instead I rewrite the GYP file to avoid that situation in the first place.) R=jochen@chromium.org BUG=v8:4382 LOG=N Review URL: https://codereview.chromium.org/1310273009 Cr-Commit-Position: refs/heads/master@{#30640}
-
- 07 Sep, 2015 2 commits
-
-
fedor authored
Move various ArrayBuffer-related methods from Heap class to the newly created ArrayBufferTracker. Consolidate and simplify things! BUG= R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1324023007 Cr-Commit-Position: refs/heads/master@{#30624}
-
brettw authored
The is_*san flags are moving from the master build config file into this .gni file. This patch will allow V8 to continue compiling when that change is landed. Review URL: https://codereview.chromium.org/1330713003 Cr-Commit-Position: refs/heads/master@{#30623}
-
- 03 Sep, 2015 1 commit
-
-
mlippautz authored
{AtomicValue}: A simple integer value that can be atomically read/set/incremented. {AtomicEnumSet}: Similar to EnumSet this set basically represents an atomic bitfield based on enums. Atomic operations guarantee that setting one bit does not race with setting other bits. {AtomicEnumFlag}: A flag that is based on an enum that can be read and (attempted to be) changed atomically. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1310993004 Cr-Commit-Position: refs/heads/master@{#30560}
-
- 02 Sep, 2015 1 commit
-
-
mstarzinger authored
Note that this is only pulling out the bookkeeping side of things, the marking visitor that actually records the statistics should also move into the ObjectStats class. That will be done as a follow-up. R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1326793002 Cr-Commit-Position: refs/heads/master@{#30547}
-
- 01 Sep, 2015 3 commits
-
-
brettw authored
The arm64 build is missing a few recently-added files. Compiling with msan requires that v8 be compiled in arm64 mode. Hook this up. Review URL: https://codereview.chromium.org/1316233005 Cr-Commit-Position: refs/heads/master@{#30528}
-
bradnelson authored
Walk asm.js module ASTs, attach concrete type information in preparation for generating a WASM module. cctest test coverage (mjsunit coming in later CL). Expressions, function tables, and foreign functions have coverage. Statement coverage to be expanded in a later CL. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-asm-validator R=rossberg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1322773002 Cr-Commit-Position: refs/heads/master@{#30520}
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "isolate.h" or "contexts.h" but not "objects-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1322883002 Cr-Commit-Position: refs/heads/master@{#30500}
-
- 28 Aug, 2015 1 commit
-
-
mstarzinger authored
This data structure uses the public heap API only and is not specific to any heap internals. It should be usable throughout V8 and inclusion of the header file should not be restricted. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1320503004 Cr-Commit-Position: refs/heads/master@{#30443}
-
- 26 Aug, 2015 1 commit
-
-
bradnelson authored
The zone type cache would be handy inside the asm.js typer. Pulling it out into a seperate inlinable header to allow sharing. BUG=https://code.google.com/p/v8/issues/detail?id=4203 TEST=None R=andreas@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1307093006 Cr-Commit-Position: refs/heads/master@{#30398}
-
- 25 Aug, 2015 1 commit
-
-
mtrofin authored
This change encompasses what is necessary to enable stack checks in loops without suffering large regressions. Primarily, it consists of a new mechanism for dealing with deferred blocks by "splintering", rather than splitting, inside deferred blocks. My initial change was splitting along deferred block boundaries, but the regression introduced by stackchecks wasn't resolved conclusively. After investigation, it appears that just splitting ranges along cold block boundaries leads to a greater opportunity for moves on the hot path, hence the suboptimal outcome. The alternative "splinters" ranges rather than splitting them. While splitting creates 2 ranges and links them (parent-child), in contrast, splintering creates a new independent range with no parent-child relation to the original. The original range appears as if it has a liveness hole in the place of the splintered one. All thus obtained ranges are then register allocated with no change to the register allocator. The splinters (cold blocks) do not conflict with the hot path ranges, by construction. The hot path ones have less pressure to split, because we remove a source of conflicts. After allocation, we merge the splinters back to their original ranges and continue the pipeline. We leverage the previous changes made for deferred blocks (determining where to spill, for example). Review URL: https://codereview.chromium.org/1305393003 Cr-Commit-Position: refs/heads/master@{#30357}
-
- 24 Aug, 2015 1 commit
-
-
bradnelson authored
Adding an AstExpressionVisitor to touch each expression node in an AST. Adding TypingReseter to clear the slate after a failed asm.js validation that has set partial typing information. Adding a ExpressionTypeCollector to walk the expressions in an AST and emit them as a string for testing. Adding tests of the above. LOG=N BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-typing-reset,test-ast-expression-visitor R=rossberg@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1288773007 Cr-Commit-Position: refs/heads/master@{#30336}
-
- 21 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1302293002 Cr-Commit-Position: refs/heads/master@{#30291}
-
- 20 Aug, 2015 2 commits
-
-
mstarzinger authored
This make inclusion of unicode-inl.h in object.h absolete. Now most compilation units don't require that header. It also breaks a cycle within declarations of the scanner.h header. This tries to remove includes of "-inl.h" headers from normal ".h" headers, thereby reducing the chance of any cyclic dependencies and decreasing the average size of our compilation units. Note that this change still leaves 3 violations of that rule in the code, checked with the "tools/check-inline-includes.sh" tool. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1287893006 Cr-Commit-Position: refs/heads/master@{#30268}
-
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}
-
- 18 Aug, 2015 5 commits
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1295333002 Cr-Commit-Position: refs/heads/master@{#30234}
-
danno authored
Previously, it was not possible to specify StackSlotOperands for all slots in both the caller and callee stacks. Specifically, the region of the callee's stack including the saved return address, frame pointer, function pointer and context pointer could not be addressed by the register allocator/gap resolver. In preparation for better tail call support, which will use the gap resolver to reconcile outgoing parameters, this change makes it possible to address all slots on the stack, because slots in the previously inaccessible dead zone may become parameter slots for outgoing tail calls. All caller stack slots are accessible as they were before, with slot -1 corresponding to the last stack parameter. Stack slot indices >= 0 access the callee stack, with slot 0 corresponding to the callee's saved return address, 1 corresponding to the saved frame pointer, 2 corresponding to the current function context, 3 corresponding to the frame marker/JSFunction, and slots 4 and above corresponding to spill slots. The following changes were specifically needed: * Frame has been changed to explicitly manage three areas of the callee frame, the fixed header, the spill slot area, and the callee-saved register area. * Conversions from stack slot indices to fp offsets all now go through a common bottleneck: OptimizedFrame::StackSlotOffsetRelativeToFp * The generation of deoptimization translation tables has been changed to support the new stack slot indexing scheme. Crankshaft, which doesn't support the new slot numbering in its register allocator, must adapt the indexes when creating translation tables. * Callee-saved parameters are now kept below spill slots, not above, to support saving only the optimal set of used registers, which is only known after register allocation is finished and spill slots have been allocated. Review URL: https://codereview.chromium.org/1261923007 Cr-Commit-Position: refs/heads/master@{#30224}
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1303463002 Cr-Commit-Position: refs/heads/master@{#30222}
-
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}
-
yangguo authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1294803004 Cr-Commit-Position: refs/heads/master@{#30217}
-
- 14 Aug, 2015 1 commit
-
-
vogelheim authored
- Make the API look like v8::V8::InitializeICU. (That is: A static method call, not an object to be created on the stack.) - Fix path separator on Windows, by calling base::OS::isPathSeparator. - Move into API, so that it can be called by hello-world & friends. - Actually call it from hello-world and friends. R=jochen@chromium.org BUG= Review URL: https://codereview.chromium.org/1292053002 Cr-Commit-Position: refs/heads/master@{#30174}
-
- 13 Aug, 2015 1 commit
-
-
yangguo authored
Review URL: https://codereview.chromium.org/1285163003 Cr-Commit-Position: refs/heads/master@{#30144}
-
- 12 Aug, 2015 1 commit
-
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1282793002 Cr-Commit-Position: refs/heads/master@{#30136}
-
- 07 Aug, 2015 1 commit
-
-
titzer authored
[turbofan] Remove architecture-specific linkage files and LinkageTraits. Use macro-assembler-defined constants. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1272883003 Cr-Commit-Position: refs/heads/master@{#30063}
-
- 06 Aug, 2015 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1276843004 Cr-Commit-Position: refs/heads/master@{#30046}
-
- 05 Aug, 2015 1 commit
-
-
yangguo authored
This is only an estimate since it counts objects that could be shared, for example strings, cow arrays, heap numbers, etc. It however ignores objects that could be shared, but may only be used by the context to be measured, for example shared function infos, script objects, scope infos, etc. R=jochen@chromium.org Review URL: https://codereview.chromium.org/1268333004 Cr-Commit-Position: refs/heads/master@{#30029}
-
- 04 Aug, 2015 3 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}
-
mtrofin authored
Setting up the stage for heuristics that preprocess live ranges before register allocation, and are independent of register allocation - e.g. the deferred blocks heuristic, or the split at call sites heuristic. Added a separate flag for this, since we intend to enable it for the linear allocator as well. Currently, the option is "on" for greedy, as a point in time to enable its testing (through the greedy allocator bots). BUG= Review URL: https://codereview.chromium.org/1256313003 Cr-Commit-Position: refs/heads/master@{#30005}
-
yangguo authored
This is a pure refactor and does not change functionality. R=ulan@chromium.org Review URL: https://codereview.chromium.org/1264993002 Cr-Commit-Position: refs/heads/master@{#29995}
-
- 31 Jul, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1265923002 Cr-Commit-Position: refs/heads/master@{#29951}
-