- 04 Jan, 2013 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11737032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jan, 2013 2 commits
-
-
ulan@chromium.org authored
There are now NONE and NONE64 RelocInfo types, but only ARM uses them both at the same time. They were added in: https://chromiumcodereview.appspot.com/11191029/ I'll rename NONE to NONE32 in a later CL. This CL cleans up the RelocInfo::NONE usage by: - Using RelocInfo::IsNone when testing for NONE-ness. - Using NONE on 32-bit platforms (MIPS and IA32), and NONE64 on 64-bit platforms (x64). This cleans up the code and prevents it from evolving bugs in the future because NONE32 and NONE64 are used in misleading ways. R= ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/11695006 Patch from JF Bastien <jfb@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/11743012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Dec, 2012 4 commits
-
-
danno@chromium.org authored
Review URL: https://codereview.chromium.org/11550005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Zheng Liu zheng.z.liu@intel.com Review URL: https://chromiumcodereview.appspot.com/11624022 Patch from Zheng Liu <zheng.z.liu@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
CallApiFunctionAndReturn in X64 Review URL: https://codereview.chromium.org/11694008 Patch from Haitao Feng <haitao.feng@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Change is performance neutral but generates smaller code and encapsulates double alignment in the macro-assembler rather than at the allocation site. Review URL: https://codereview.chromium.org/11684005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Dec, 2012 3 commits
-
-
ulan@chromium.org authored
An untagged int32 has zeros in the upper half even if it is negative. Using cmpq to compare such numbers will incorrectly ignore the sign. BUG=164442 R=mvstanton@chromium.org Review URL: https://chromiumcodereview.appspot.com/11665007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11666007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11664007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Dec, 2012 1 commit
-
-
yangguo@chromium.org authored
R=ulan@chromium.org BUG=166379 Review URL: https://chromiumcodereview.appspot.com/11618017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2012 2 commits
-
-
danno@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/11528003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Also, add test that assignment to function name is a syntax error with harmony scoping. Does not fix issue 2243 directly, but with ES6, the required behaviour will change to what is implemented already anyway. R=yangguo@chromium.org BUG=v8:2243 Review URL: https://codereview.chromium.org/11607016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Dec, 2012 1 commit
-
-
ulan@chromium.org authored
This makes the DeoptimizeAll function O(n) instead of O(n^2) where n in the number of optimized functions. Before this change, DeoptimizeAll iterated over the optimized function list and called DeoptimizingVisitor for each function. The visitor iterated over the optimized function list again to remove the functions that share the same optimized code. This change partitions the optimized function list into one or more lists of related functions in one pass over the optimized function list. R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/11547015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Dec, 2012 2 commits
-
-
danno@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/11498006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
If the divisor is a Power-of-2 constant, we could use shifts instead of the expensive idiv instructions, which also loose the register constraints. Review URL: https://chromiumcodereview.appspot.com/11478043 Patch from Yuqiang Xian <yuqiang.xian@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2012 1 commit
-
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11437016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Dec, 2012 3 commits
-
-
danno@chromium.org authored
Review URL: https://codereview.chromium.org/11441013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=v8:2435 Review URL: https://chromiumcodereview.appspot.com/11348349 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Committed: https://code.google.com/p/v8/source/detail?r=13105 Committed: https://code.google.com/p/v8/source/detail?r=13117 Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Dec, 2012 2 commits
-
-
danno@chromium.org authored
TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/11415261 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Committed: https://code.google.com/p/v8/source/detail?r=13105 Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Nov, 2012 2 commits
-
-
danno@chromium.org authored
TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/11414262 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Nov, 2012 1 commit
-
-
svenpanne@chromium.org authored
Making the code size predictable is hard, and to make things even more complicated, the start of a function can contain various stuff like calls to a profiling hook, receiver adjustment or dynamic frame alignment. Instead of tackling all these problems separately, we now simply record the offset where patching should happen later in the Code object itself. Review URL: https://codereview.chromium.org/11316218 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11411224 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Nov, 2012 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11299200 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Nov, 2012 2 commits
-
-
verwaest@chromium.org authored
BUG=162085 Review URL: https://chromiumcodereview.appspot.com/11414155 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: https://codereview.chromium.org/11418149 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Nov, 2012 1 commit
-
-
mmassi@chromium.org authored
BUG= Review URL: https://chromiumcodereview.appspot.com/11316151 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2012 4 commits
-
-
svenpanne@chromium.org authored
This removed a lot of copy-n-paste code and is very handy for some upcoming changes (regarding predictable code size). Review URL: https://codereview.chromium.org/11416133 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Modules now have their own local scope, represented by their own context. Module instance objects have an accessor for every export that forwards access to the respective slot from the module's context. (Exports that are modules themselves, however, are simple data properties.) All modules have a _hosting_ scope/context, which (currently) is the (innermost) enclosing global scope. To deal with recursion, nested modules are hosted by the same scope as global ones. For every (global or nested) module literal, the hosting context has an internal slot that points directly to the respective module context. This enables quick access to (statically resolved) module members by 2-dimensional access through the hosting context. For example, module A { let x; module B { let y; } } module C { let z; } allocates contexts as follows: [header| .A | .B | .C | A | C ] (global) | | | | | +-- [header| z ] (module) | | | +------- [header| y ] (module) | +------------ [header| x | B ] (module) Here, .A, .B, .C are the internal slots pointing to the hosted module contexts, whereas A, B, C hold the actual instance objects (note that every module context also points to the respective instance object through its extension slot in the header). To deal with arbitrary recursion and aliases between modules, they are created and initialized in several stages. Each stage applies to all modules in the hosting global scope, including nested ones. 1. Allocate: for each module _literal_, allocate the module contexts and respective instance object and wire them up. This happens in the PushModuleContext runtime function, as generated by AllocateModules (invoked by VisitDeclarations in the hosting scope). 2. Bind: for each module _declaration_ (i.e. literals as well as aliases), assign the respective instance object to respective local variables. This happens in VisitModuleDeclaration, and uses the instance objects created in the previous stage. For each module _literal_, this phase also constructs a module descriptor for the next stage. This happens in VisitModuleLiteral. 3. Populate: invoke the DeclareModules runtime function to populate each _instance_ object with accessors for it exports. This is generated by DeclareModules (invoked by VisitDeclarations in the hosting scope again), and uses the descriptors generated in the previous stage. 4. Initialize: execute the module bodies (and other code) in sequence. This happens by the separate statements generated for module bodies. To reenter the module scopes properly, the parser inserted ModuleStatements. R=mstarzinger@chromium.org,svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/11093074 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
This is nice when looking at hydrogen graphs, to see the real key offset. R=mmassi@chromium.org BUG= Review URL: https://codereview.chromium.org/11348176 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/11412096 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Nov, 2012 3 commits
-
-
mvstanton@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/11412129 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmassi@chromium.org authored
BUG= Review URL: https://chromiumcodereview.appspot.com/11299004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This is a straight rename: IsAsciiRepresentation -> IsOneByteRepresentation IsAsciiRepresentationUnderneath -> IsOneByteRepresentationUnderneath AllocateRawAsciiString -> AllocateRawOneByteString AllocateStringFromAscii -> AllocateStringFromOneByte R=yangguo@chromium.org, BUG= Review URL: https://chromiumcodereview.appspot.com/11308066 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Nov, 2012 1 commit
-
-
jkummerow@chromium.org authored
BUG=v8:2416 Review URL: https://codereview.chromium.org/11413087 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Nov, 2012 1 commit
-
-
svenpanne@chromium.org authored
For Octane, the number of calls go down from 7341629 to 1947880, i.e. they are reduced by more than 73%. TLS access is not especially cheap, so this exercise seems worthwhile. Review URL: https://codereview.chromium.org/11412007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Nov, 2012 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11419011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-