- 02 Oct, 2015 14 commits
-
-
danno authored
Previous to this patch, both the lithium and TurboFan register allocators tracked allocated registers by "indices", rather than the register codes used elsewhere in the runtime. This patch ensures that codes are used everywhere, and in the process cleans up a bunch of redundant code and adds more structure to how the set of allocatable registers is defined. Some highlights of changes: * TurboFan's RegisterConfiguration class moved to V8's top level so that it can be shared with Crankshaft. * Various "ToAllocationIndex" and related methods removed. * Code that can be easily shared between Register classes on different platforms is now shared. * The list of allocatable registers on each platform is declared as a list rather than implicitly via the register index <-> code mapping. Committed: https://crrev.com/80bc6f6e11f79524e3f1ad05579583adfd5f18b2 Cr-Commit-Position: refs/heads/master@{#30913} Review URL: https://codereview.chromium.org/1287383003 Cr-Commit-Position: refs/heads/master@{#31075}
-
cbruni authored
BUG=v8:4217 LOG=Y Review URL: https://codereview.chromium.org/1381543005 Cr-Commit-Position: refs/heads/master@{#31074}
-
machenbach authored
BUG=chromium:535160,v8:4459 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1384683002 Cr-Commit-Position: refs/heads/master@{#31073}
-
ulan authored
This restores size_of_objects and removed unused fields. BUG=chromium:538539 LOG=NO Review URL: https://codereview.chromium.org/1380953003 Cr-Commit-Position: refs/heads/master@{#31072}
-
mlippautz authored
R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1384453005 Cr-Commit-Position: refs/heads/master@{#31071}
-
mlippautz authored
See bug description. R=hpayer@chromium.org BUG=chromium:538257 LOG=N Review URL: https://codereview.chromium.org/1381633005 Cr-Commit-Position: refs/heads/master@{#31070}
-
jkummerow authored
The problem was harmless, but made --enable-slow-asserts unhappy. BUG=chromium:538086 LOG=n R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1384673003 Cr-Commit-Position: refs/heads/master@{#31069}
-
mstarzinger authored
This lowers JSCreateFunctionContext nodes to call the above stub for help with allocating function contexts when possible. It also contains an implementation for inlined allocations of such contexts, which is still behind a flag until inlined allocations are ready for prime time. TEST=unittests/JSTypedLoweringTest.JSCreateFunctionContext R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1380113002 Cr-Commit-Position: refs/heads/master@{#31068}
-
ishell authored
BUG=v8:4458 LOG=N NOTRY=true Review URL: https://codereview.chromium.org/1387533002 Cr-Commit-Position: refs/heads/master@{#31067}
-
rmcilroy authored
Revert of [Interpreter] Add CallRuntime support to the interpreter. (patchset #6 id:180001 of https://codereview.chromium.org/1362383002/ ) Reason for revert: Broke Arm64 bot (CEntry stub is trying to pop arguments off stack when argv_in_reg, so I need to fix this). Original issue's description: > [Interpreter] Add CallRuntime support to the interpreter. > > Adds support for calling runtime functions from the interpreter. Adds the > CallRuntime bytecode which takes a Runtime::FunctionId of the function to call > and the arguments in sequential registers. Adds a InterpreterCEntry builtin > to enable the interpreter to enter C++ code based on the functionId. > > Also renames Builtin::PushArgsAndCall to Builtin::InterpreterPushArgsAndCall > and groups all the interpreter builtins together. > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/40e8424b744f8b6e3e1d93e20f23487419911dfc > Cr-Commit-Position: refs/heads/master@{#31064} TBR=bmeurer@chromium.org,oth@chromium.org,mstarzinger@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review URL: https://codereview.chromium.org/1387543002 Cr-Commit-Position: refs/heads/master@{#31066}
-
Djordje.Pesic authored
BUG= Review URL: https://codereview.chromium.org/1384453003 Cr-Commit-Position: refs/heads/master@{#31065}
-
rmcilroy authored
Adds support for calling runtime functions from the interpreter. Adds the CallRuntime bytecode which takes a Runtime::FunctionId of the function to call and the arguments in sequential registers. Adds a InterpreterCEntry builtin to enable the interpreter to enter C++ code based on the functionId. Also renames Builtin::PushArgsAndCall to Builtin::InterpreterPushArgsAndCall and groups all the interpreter builtins together. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1362383002 Cr-Commit-Position: refs/heads/master@{#31064}
-
paul.lind authored
BUG= Review URL: https://codereview.chromium.org/1370353003 Cr-Commit-Position: refs/heads/master@{#31063}
-
v8-autoroll authored
Rolling v8/third_party/icu to 94e4b770ce2f6065d4261d29c32683a6099b9d93 Rolling v8/tools/swarming_client to e4c0e242eeec361886ed2b89591a505ebe24db43 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1383963002 Cr-Commit-Position: refs/heads/master@{#31062}
-
- 01 Oct, 2015 24 commits
-
-
machenbach authored
Swarming won't support an incremental data file. By just sorting the lowest hanging fruits to the beginning we already get a big bang for the buck (>80% of the improvement we get otherwise). This will require semi-regular manual updates of the slowest tests. BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1385443002 Cr-Commit-Position: refs/heads/master@{#31061}
-
alph authored
Review URL: https://codereview.chromium.org/1378253002 Cr-Commit-Position: refs/heads/master@{#31060}
-
ishell authored
Disable vector store ICs for mjsunit/call-counts because slot indices change when --vector-stores is enabled. Review URL: https://codereview.chromium.org/1381073003 Cr-Commit-Position: refs/heads/master@{#31059}
-
rmcilroy authored
Adds support for short operands, starting with kIdx16. Introduces BytecodeTraits to enable compile time determination of various traits for a bytecode, such as size, operands, etc. Reworks BytecodeIterator, BytecodeArrayBuilder and Bytecodes::Decode to support 16 bit operands. Adds support to Interpreter to load 16 bit operands. Also fixes a bug with ToBoolean where it wouldn't get emitted at the start of a block, and added a test. BytecodeTraits template magic inspired by oth@chromium.org. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1370893002 Cr-Commit-Position: refs/heads/master@{#31058}
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1377423002 Cr-Commit-Position: refs/heads/master@{#31057}
-
alph authored
It was supposed to be used by the CPU profiler. But as long as these ranges are not built when profiler is not running, once the profiler is started there're no ranges for already compiled functions. So basically this code never worked. As long as now CPU profiler uses another approach this code is no longer needed. Review URL: https://codereview.chromium.org/1376333003 Cr-Commit-Position: refs/heads/master@{#31056}
-
neis authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1378343002 Cr-Commit-Position: refs/heads/master@{#31055}
-
bmeurer authored
Introduce %_ToNumber intrinsic, which just calls to the existing ToNumberStub, and remove all uses of our custom JavaScript plus intrinsics based ToNumber and friends. Also replace the TO_NUMBER_INLINE macro with TO_NUMBER, which is currently a wrapper for %_ToNumber. Newly written JS code should use TO_NUMBER (similar to TO_STRING, TO_INT32, and friends). Also finally remove the DefaultString/DefaultNumber builtins, which are basically the ES5 version of ToPrimitive. Now all code uses the ES6 version, which is implemented in Object::ToPrimitive and JSReceiver::ToPrimitive in C++. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1384443002 Cr-Commit-Position: refs/heads/master@{#31054}
-
hablich authored
This feature is no longer needed because of the autotag bot. NOTRY=true LOG=N R=machenbach@chromium.org Review URL: https://codereview.chromium.org/1384523002 Cr-Commit-Position: refs/heads/master@{#31053}
-
oth authored
Improve bytecode generation for if when there's no else clause. Display target addresses for jump instructions in Bytecode::Disassemble(). BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1373903005 Cr-Commit-Position: refs/heads/master@{#31052}
-
neis authored
R=rossberg BUG=v8:2529 LOG=Y Review URL: https://codereview.chromium.org/1375203004 Cr-Commit-Position: refs/heads/master@{#31051}
-
ishell authored
This CL also allows to use arbitrary number of feedback vector elements for particular slot kind. Review URL: https://codereview.chromium.org/1370303004 Cr-Commit-Position: refs/heads/master@{#31050}
-
mbrandy authored
Avoid hard-coding expected parameter indices. These depend on the frame size which can vary (e.g. if embedded constant pools are enabled). R=oth@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1375373002 Cr-Commit-Position: refs/heads/master@{#31049}
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1377723003 Cr-Commit-Position: refs/heads/master@{#31048}
-
hablich authored
NOTRY=true LOG=N R=machenbach@chromium.org Review URL: https://codereview.chromium.org/1369213003 Cr-Commit-Position: refs/heads/master@{#31047}
-
machenbach authored
This is a simplified version of chromium's isolate driver: - 'prepare' will create a *.isolate.gen.json with the arguments to be used later. - other modes will just be passed through to the isolate script. BUG=chromium:535160 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1378133005 Cr-Commit-Position: refs/heads/master@{#31046}
-
machenbach authored
Port https://codereview.chromium.org/1154633003/ BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1380983002 Cr-Commit-Position: refs/heads/master@{#31045}
-
mvstanton authored
We need to do other things with this bindings object, like store a feedback vector. Therefore, it's a good time to wrap it up in a helper class. BUG= Review URL: https://codereview.chromium.org/1369293003 Cr-Commit-Position: refs/heads/master@{#31044}
-
hablich authored
With this change mergeinfo.py gets more useful. There is a distinction between merges and follow-up CLs/ports/reverts. Also the information is show if the commit is already rolled/an lkgr/deployed to Canary channel. Additionally some formatting errors were resolved and the already existing git wrapper used. LOG=N R=machenbach@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1341303002 Cr-Commit-Position: refs/heads/master@{#31043}
-
rossberg authored
Var-bindings may shadow parameters from a non-simple parameter list. When that happens: they create separate bindings, but are initialised with the respective parameter value. Thus: (function(x, f = () => x) { var x; var y = x; x = 2; return [x, y, f()] })(1) --> [2, 1, 1] This CL implements that by inserting a suitable assignment for every shadwowing var-variable (e.g., x = outer_x above) at the beginning of the function's body block. R=adamk@chromium.org BUG=v8:4440,v8:811 LOG=N Review URL: https://codereview.chromium.org/1371333004 Cr-Commit-Position: refs/heads/master@{#31042}
-
neis authored
This is in preparation of implementing ES6 completion semantics and depends on #1362333002. R=rossberg BUG= Review URL: https://codereview.chromium.org/1362363002 Cr-Commit-Position: refs/heads/master@{#31041}
-
mlippautz authored
- Wasted bytes are now accounted where they accrue, i.e., the corresponding free list. The amount of waste is transferred by concatenating free lists. - During concatenation, free lists are no longer locked on FreeListCategory level, but in the FreeList itself, simplifying the sync between contained nodes and wasted bytes (which are effectively dropped nodes). This is pre-work for properly moving memory to compaction spaces, which requires correct accounting of wasted memory. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1379833002 Cr-Commit-Position: refs/heads/master@{#31040}
-
cbruni authored
R=ishell@chromium.org BUG=chromium:536790 LOG=N Review URL: https://codereview.chromium.org/1375913002 Cr-Commit-Position: refs/heads/master@{#31039}
-
v8-autoroll authored
Rolling v8/buildtools to 0c88009d5c50b9f21b6f8849db08abfb9eb29f1e TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1381873002 Cr-Commit-Position: refs/heads/master@{#31038}
-
- 30 Sep, 2015 2 commits
-
-
littledan authored
The ES2015 spec is missing an extension of sloppy-mode block-scoped function behavior to the global scope in scripts, as well as to eval. This patch brings that hoisting to those two areas. The behavior is not perfectly spec-compliant since properties created on the global scope should be set as enumerable even if they are non-enumerable previously, but the attributes will not be modified if the property already exists under this patch. BUG=v8:4441 LOG=Y R=adamk TEST=reddit comment functionality seems to be fixed Review URL: https://codereview.chromium.org/1376623002 Cr-Commit-Position: refs/heads/master@{#31037}
-
mbrandy authored
Port c90c60ba Original commit message: Make sure to always reference it indirectly. This allows us to make the vector native-context dependent should we wish. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1381803002 Cr-Commit-Position: refs/heads/master@{#31036}
-