- 11 Feb, 2014 1 commit
-
-
mvstanton@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/154113010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Feb, 2014 1 commit
-
-
mvstanton@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/137403009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Jan, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=dcarney@chromium.org Review URL: https://codereview.chromium.org/148223002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jan, 2014 1 commit
-
-
bmeurer@chromium.org authored
This code is almost never executed in real world and benchmarks, and there's obviously absolutely no need to have this native code hanging around for no benefit. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/148873002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jan, 2014 1 commit
-
-
rossberg@chromium.org authored
Clean up some zone/isolate handling in AST and its visitors on the way. (Based on https://codereview.chromium.org/103743004/) R=jkummerow@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/102563004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jan, 2014 1 commit
-
-
mvstanton@chromium.org authored
Recent changes in IC logic meant that CallStubs no longer use the Contextual bit. IsUndeclaredGlobal() needed to adjust for that. In fact, now the CL has morphed to remove the notion of storing contextual state in the IC at all, it just becomes some extra ic state of the load ic. This took some adjustment in harmony code to use the global receiver for certain stores. Now it's clearer that only LoadICs actually record any information about contextual or not. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/140943002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2014 1 commit
-
-
mvstanton@chromium.org authored
to be on the global object. Previously, this information was stored in RelocInfo. A more logical place for this kind of structural information is ExtraICState. Storing it there makes it easier for us to gather type feedback from these sites too. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/96083005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Dec, 2013 1 commit
-
-
yangguo@chromium.org authored
Goals: - easier to read, more suitable identifiers. - better distinction between compiling optimized/unoptimized code - compiler does not install code on the function. - easier to add features (e.g. caching optimized code for osr). - remove unnecessary code. R=titzer@chromium.org Review URL: https://codereview.chromium.org/110203002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Dec, 2013 1 commit
-
-
yangguo@chromium.org authored
If OSR happens before regular recompilation, the unoptimized function code on the stack may not have deoptimization support. In that case, graph creation compiles the unoptimized code again to include support. That code is then installed as shared code. When we patch code for OSR, the function code on the stack and not the shared code is what we want. R=titzer@chromium.org TEST=block-conflicts.js with --always-osr --concurrent-osr Review URL: https://codereview.chromium.org/99013003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Nov, 2013 1 commit
-
-
jochen@chromium.org authored
We cannot yet deprecate the versions that don't take one, because there's too much test code in v8 using them. To keep this CL small and managable, I'll first introduce the new APIs. BUG=none R=dcarney@chromium.org, svenpanne@chromium.org LOG=n Review URL: https://codereview.chromium.org/84833006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Oct, 2013 1 commit
-
-
danno@chromium.org authored
This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is reset to the young age, thus being kept around for the same number of GC generations as currently. BUG=280984 R=danno@chromium.org, hpayer@chromium.org Review URL: https://codereview.chromium.org/23480031 Patch from Ross McIlroy <rmcilroy@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2013 3 commits
-
-
rossberg@chromium.org authored
* Turn CaseClause into a proper AstNode R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/23684058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
* Eliminate Conditional::then/else_position and WhileStatement::condition_position. R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/23597037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
* AstNode now has a position info. * Removed various ad-hoc position infos from subclasses (most of which had it). * Position is always set with the constructor, instead of later. * Take care to use kNoPosition in the right spots, to not crash the debugger. Still to do: * Eliminate Conditional::then/else_position and WhileStatement::condition_position. * Make CaseClause a proper AstNode and eliminate its custom position. * If possible, eliminate all uses of kNoPosition. R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/24076007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2013 1 commit
-
-
mstarzinger@chromium.org authored
R=dcarney@chromium.org Review URL: https://codereview.chromium.org/25473002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2013 2 commits
-
-
jkummerow@chromium.org authored
This reverts r17017 for breaking LayoutTests. R=mstarzinger@chromium.org TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/25315002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=dcarney@chromium.org BUG= Review URL: https://codereview.chromium.org/25164003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Sep, 2013 1 commit
-
-
yangguo@chromium.org authored
Changes include: - completed concurrent OSR tasks trigger a stack check interrupt. - polling for completion is now guarded by a stack check. - circular buffer for completed OSR tasks instead of list. R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/24237009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2013 1 commit
-
-
yangguo@chromium.org authored
This is mostly moving and renaming, except for the BackEdgeTableIterator. Motivation is that the back edges in unoptimized code has nothing to do with the deoptimizer. R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/23526069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2013 1 commit
-
-
loislo@chromium.org authored
Current v8 implementation may disable optimization for a particular function or block it with help of dont_optimize flag. The patch propagates the reason of that to the SharedFunctionInfo where cpu profiler can get it. SharedFunctionInfo is a heap object so I extracted 8 bits from OptsCount for handling bailout reason code. BUG=none TEST=test-profile-generator/BailoutReason R=yangguo@chromium.org Review URL: https://codereview.chromium.org/23817003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2013 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23859002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Aug, 2013 1 commit
-
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/22840002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2013 1 commit
-
-
haitao.feng@intel.com authored
R=danno@chromium.org Review URL: https://codereview.chromium.org/22041003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jul, 2013 1 commit
-
-
palfia@homejinni.com authored
This patch fixes the step size of masm->pc_ in back_edge tables to words (4 bytes) to ensure 4 bytes alignment for read/write operations. Read and write of words (4 bytes) data from aligned space (address % 4 == 0) is more efficient on all platforms and especially on MIPS where without this alignment fix a kernel exception handler is used for every unaligned access. This patch increases the size of back_edge tables by 3 bytes in every row. By the test it seem the back_edge table quite small in every/most cases (maximal length is 18 so in that case there are only 54 additional bytes with this patch). BUG= Patch from Douglas Leung <Douglas.Leung@imgtec.com> Review URL: https://codereview.chromium.org/19248002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jul, 2013 1 commit
-
-
olivf@chromium.org authored
BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/18429005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jul, 2013 1 commit
-
-
yangguo@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/18509003 Patch from Haitao Feng <haitao.feng@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jun, 2013 1 commit
-
-
jkummerow@chromium.org authored
Add %_DebugBreakInOptimizedCode() pseudo function call to insert int3/stop instructions into optimized code R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/17870002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2013 1 commit
-
-
rossberg@chromium.org authored
Just a completely mechanical change... R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/17576005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2013 2 commits
-
-
danno@chromium.org authored
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/16631002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
When a generator suspends, it saves its state out to the heap and unwinds try handlers but doesn't pop anything off the stack. Instead it relies on no GC happening between the suspend and the return from the generator. However this was not the case: boxing the result object could cause GC, which would try to traverse the stack but would misinterpret words from unwound try handlers as heap objects. This CL changes to allocate the result objects before the suspend. It also removes the generators-iteration skip introduced in r15065. R=mstarzinger@chromium.org TEST=mjsunit/harmony/generators-iteration BUG= Review URL: https://codereview.chromium.org/16801006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jun, 2013 1 commit
-
-
wingo@igalia.com authored
Update the generators implementation to make "next" also do the job of what was previously called "send" by taking an optional argument. Remove send, and do a bunch of renamings. R=rossberg@chromium.org BUG=v8:2355, v8:2715 Review URL: https://codereview.chromium.org/16136011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jun, 2013 1 commit
-
-
wingo@igalia.com authored
Add full-codegen support for the ES6 for-of iteration statement. R=mstarzinger@chromium.org, rossberg@chromium.org TEST=mjsunit/harmony/iteration-semantics BUG=v8:2214 Review URL: https://codereview.chromium.org/15288011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jun, 2013 1 commit
-
-
wingo@igalia.com authored
This commit adds initial parser support for harmony iteration. Specifically, it will parse: for (x of y) {} for (let x of y) {} for (var x of y) {} The semantics are still unimplemented. TEST=mjsunit/harmony/for-of-syntax BUG=v8:2214 R=rossberg@chromium.org Review URL: https://codereview.chromium.org/15300018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 May, 2013 1 commit
-
-
svenpanne@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/15941004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This patch makes it so that suspending generators always saves the context. Previously we erroneously assumed that if the operand stack was empty, that the context would be unchanged, but that is not the case with "with". Fixing this brought out an interesting bug in the variable allocator. Yield inside with will reference a context-allocated temporary holding the generator object. Before the fix, this object was looked up in the with context instead of the function context, because with contexts were not being simulated during full-codegen. Previously this was OK as all variables would be given LOOKUP allocation instead of CONTEXT, but the context-allocated temporary invalidated this assumption. The fix is to simulate the context chain more accurately in full-codegen. R=mstarzinger@chromium.org BUG=v8:2355 TEST=mjsunit/harmony/generators-iteration Review URL: https://codereview.chromium.org/14416011 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
The generator object methods "next", "send", and "throw" now include some inline assembly to set up a resumed stack frame. In some common cases, we can just jump back into the frame to resume it. Otherwise the resume code calls out to a runtime to fill in the operand stack, rewind the handlers, and possibly to throw an exception. BUG=v8:2355 TESTS=mjsunit/harmony/generators-iteration Review URL: https://codereview.chromium.org/14066016 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
* src/ast.h: * src/parser.cc: Differentiate between the different kinds of yields, in anticipation of boxing return values. Parse `return' into `yield' in a generator. * src/runtime.h: * src/runtime.cc (Runtime_SuspendJSGeneratorObject): New horrible runtime function: saves continuation, context, and operands into the generator object. * src/arm/full-codegen-arm.cc (VisitYield): * src/ia32/full-codegen-ia32.cc (VisitYield): * src/x64/full-codegen-x64.cc (VisitYield): Arrange to call SuspendJSGeneratorObject. If the call returns the hole, we suspend. Otherwise we resume. BUG=v8:2355 TEST=These codepaths are tested when the generator is first invoked, and so are covered by mjsunit/harmony/generators-objects.js. Review URL: https://codereview.chromium.org/13704010 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
* src/heap.h: * src/heap.cc: * src/objects-debug.cc: * src/objects-inl.h: * src/objects-printer.cc: * src/objects-visiting.cc: * src/objects.cc: * src/objects.h: Define a new object type, JSGeneratorObject. * src/factory.h: * src/factory.cc (NewFunctionFromSharedFunctionInfo): Generator function inital maps construct the new JS_GENERATOR_OBJECT_TYPE objects, not generic JSObjects. * src/runtime.h: * src/runtime.cc (Runtime_CreateJSGeneratorObject): * src/arm/full-codegen-arm.cc (Generate): * src/ia32/full-codegen-ia32.cc (Generate): * src/x64/full-codegen-x64.cc (Generate): Before visiting generator bodies, arrange to construct and return a generator object. * test/mjsunit/harmony/generators-objects.js: Add tests for the properties and prototype of generator objects. BUG=v8:2355 TEST=mjsunit/harmony/generators-objects Review URL: https://codereview.chromium.org/13542002 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Apr, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG=v8:2618 Review URL: https://chromiumcodereview.appspot.com/13811014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Apr, 2013 1 commit
-
-
mstarzinger@chromium.org authored
This patchset begins by adding support for "yield", which is unlike other tokens in JS. In a generator, whether strict or classic, it is a syntactic keyword. In classic mode it is an identifier. In strict mode it is reserved. This patch adds YIELD as a token to the scanner, and adapts the preparser and parser appropriately. It also parses "function*", indicating that a function is actually a generator, for both eagerly and lazily parsed functions. Currently "yield" just compiles as "return". BUG=v8:2355 TEST=mjsunit/harmony/generators-parsing Review URL: https://codereview.chromium.org/12646003 Patch from Andy Wingo <wingo@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-