- 03 May, 2011 1 commit
-
-
kmillikin@chromium.org authored
Try to make sure that accessors.h, data-flow.h, list-inl.h, and scopeinfo.h are included only where needed, but without introducing implicit dependencies. Review URL: http://codereview.chromium.org/6903175 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 May, 2011 1 commit
-
-
kmillikin@chromium.org authored
Because we track the value of the arguments object, we need to check values whenever plugged into a forbidden value context. It is not enough to check at only variable references as we did previously. R=fschneider@chromium.org BUG=1351 TEST=regress-1351.js Review URL: http://codereview.chromium.org/6902202 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2011 1 commit
-
-
whesse@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6880276 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2011 1 commit
-
-
vegorov@chromium.org authored
In JavaScriptFrame::Print avoid printing optimized frame as if it is unoptimized. Review URL: http://codereview.chromium.org/6894043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Apr, 2011 1 commit
-
-
kmillikin@chromium.org authored
Rather than representing a use as a pointer to an HValue and then searching for the specific (ambiguous) operand, we now represent a use as a pair of an HValue and the input operand index. Additionally, use a linked list instead of a growable array list since we never use random access. This allows us to remove a bunch of similarly named and subtly different functions from the HValue API. The cost in extra zone allocation per use is partially offset by reusing use list nodes when replacing a use of one value with another. R=danno@chromium.org,fschneider@chromium.org Review URL: http://codereview.chromium.org/6881044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2011 2 commits
-
-
fschneider@chromium.org authored
Original code review: http://codereview.chromium.org/6838018/ TBR=ager@chromium.org Review URL: http://codereview.chromium.org/6869005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
o The type recording binary stub got a new type for string + string. o Added HStringAdd and LStringAdd based on the new type info. o Started using HValue types to avoid unneccesary checks. Review URL: http://codereview.chromium.org/6852015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Apr, 2011 3 commits
-
-
kmillikin@chromium.org authored
When inlining a polymorphic variant, the inlined function indicates we should bailout of the entire compilation by setting the stack overflow flag on the visitor. We need to check this flag and bailout if a call to TryInline succeeds and it is not in tail position in a graph builder function. R=fschneider@chromium.org Review URL: http://codereview.chromium.org/6840012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
TBR=fschneider@chromium.org Review URL: http://codereview.chromium.org/6837020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Previously we assumed that control was always live after visiting an expression, and that control was live to both basic block targets of an expression in a test context. Now we allow any expression to exit the graph. R=fschneider@chromium.org,danno@chromium.org Review URL: http://codereview.chromium.org/6839015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2011 1 commit
-
-
mmaly@chromium.org authored
- mutual inlining strict and non-strict functions in crankshaft. - assignment to undefined variable with eval in scope. - propagation of strict mode through lazy compilation. BUG= TEST=test/mjsunit/strict-mode.js test/mjsunit/strict-mode-opt.js Review URL: http://codereview.chromium.org/6814012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Apr, 2011 3 commits
-
-
whesse@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6691058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Fix opmitized external array access for compound assignments and count operations, also implement missing ARM typed array Hydrogen loads and stores. BUG=none TEST=none Review URL: http://codereview.chromium.org/6805005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Instead of adding an extra AST node we can just use an auxiliary bailout id for named and keyed property count operations. Review URL: http://codereview.chromium.org/6810015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2011 3 commits
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6794041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
It was only used in an ASSERT when reconstructing environments at lithium translation time. Review URL: http://codereview.chromium.org/6693062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
In addition, this change allows one additional level of inlining. Review URL: http://codereview.chromium.org/6720017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Apr, 2011 1 commit
-
-
sgjesse@chromium.org authored
All global stores are now supported in crankshaft by using the normal store IC when other optimizations are not possible due to the state of the global object. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org//6693066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Apr, 2011 4 commits
-
-
vitalyr@chromium.org authored
o Make ia32 macro assembler work without an isolate and use it in the custom memcpy creation code. o Remove isolate-dependent code from the custom memcpy and modulo functions creation code. Review URL: http://codereview.chromium.org/6788007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
In the cases where a global property cell cannot be used in the optimized code use standard load ic to get the property instead of bailing out. This is re-committing r7212 and r7215 which where reverted in r7239 with the addition of recoring the source position in the hydrogen code for the LoadGlobalCell instruction. To record that position an optional position field has been added to the variable proxy AST node. Review URL: http://codereview.chromium.org/6758007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Fix %NewObjectFromBound to correctly handle optimized frames (including those with inlined functions). Fix %_IsConstructCall handling in hydrogen: when called from inlined function return false constant directly instead of emiting HIsConstructCall. Fix success case in TraceInline. BUG=v8:1229 TEST=test/mjsunit/regress/regress-1229.js Review URL: http://codereview.chromium.org/6740023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Unoptimized code should already keep a reference to the SharedFunctionInfo, let's use it instead of allocating a new object and prohibiting SharedFunctionInfo specific optimizations. Review URL: http://codereview.chromium.org/6706016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2011 1 commit
-
-
sgjesse@chromium.org authored
This commit adds current working versions of assembler, macro-assembler, disassembler, and simulator. All other mips arch files are replaced with stubbed-out versions that will build. Arch independent files are updated as needed to support building and running mips. The only test is cctest/test-assembler-mips, and this passes on the simulator and on mips hardware. TEST=none BUG=none Patch by Paul Lind from MIPS. Review URL: http://codereview.chromium.org/6730029/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2011 1 commit
-
-
fschneider@chromium.org authored
In that case print 0 instead of NaN for normalized time and bytes allocated. R=kmillikin@chromium.org Review URL: http://codereview.chromium.org/6696070 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2011 2 commits
-
-
danno@chromium.org authored
Add specialized hydrogen and lithium instructions to support loading and storing to external arrays. Review URL: http://codereview.chromium.org/6656001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change adds a new IR instruction for polymorphic loads. It performs map compares and loads in one IR instruction instead of splitting each load into a graph of map-compares and field loads. The advantage is a smaller IR and less basic blocks, plus it allows to do GVN on polymorphic loads. Review URL: http://codereview.chromium.org/6708085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2011 1 commit
-
-
vitalyr@chromium.org authored
This saves about 700K of zone allocation when compiling the V8 benchmark suite. Review URL: http://codereview.chromium.org/6707001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2011 2 commits
-
-
fschneider@chromium.org authored
This allows fast calls and inlining of functions like: var o = {f: function() { return "foo"; }} o.f(); Object literals that contain function literals are initially created a dictionary mode object and only transformed to fast properties once all properties are computed and added. This allows us to create constant function properties for functions declared inside the object literal. Function literals inside object literals are marked for pretenuring so that they work as contant function properties. Object literals without functions should just function as before. Review URL: http://codereview.chromium.org/6240012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6688066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Mar, 2011 6 commits
-
-
antonm@chromium.org authored
Make it use custom call generator infrastructure. Review URL: http://codereview.chromium.org/6686003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This caueses line positions to be off by one in certain cases, causing webkit http/tests/inspector/console-xhr-logging to fail. Review URL: http://codereview.chromium.org/6667077 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Otherwise dead phi elimination can actually remove some of the implicitly used phis. BUG=1257 TEST=test/mjsunit/regress/regress-1257.js Review URL: http://codereview.chromium.org/6672066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Also strength-reduction of unary minus. Fixes issue 1248. BUG=1248 Review URL: http://codereview.chromium.org/6685045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
In most situations tests passed just causing a bailout from the compiler due to stack overflow. On Mac some tests actually did crash and of cause some benchmarks showed regressions due to this. Review URL: http://codereview.chromium.org/6665064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
In the cases where a global property cell cannot be used in the optimized code use standard load ic to get the property instead of bailing out. Review URL: http://codereview.chromium.org/6665026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Mar, 2011 1 commit
-
-
vitalyr@chromium.org authored
This allows more efficient implementations of string keyed access, String.prototype.chatAt, and String.fromCharCode. Review URL: http://codereview.chromium.org/6682025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2011 1 commit
-
-
antonm@chromium.org authored
For most of API calls we generate better stub which is faster than invocation via builtin, so use IC instead of direct call in Hydrogen. Review URL: http://codereview.chromium.org/6672026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-