- 02 Mar, 2011 1 commit
-
-
mmaly@chromium.org authored
Review URL: http://codereview.chromium.org/6594037/ Revert "Revert "Assignment to read only properties throws in strict mode."" This reverts commit aefcd82e1d36d458dd071ebf4777340f08aa67b1. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2011 8 commits
-
-
vitalyr@chromium.org authored
We simply need to remove early checks in the resolve eval runtime functions. CallFunctionStub that follows will handle non-functions in the right way. Review URL: http://codereview.chromium.org/6591075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This fixes an assert when an exception is thrown inside instanceof. BUG=v8:1207 TEST=mjsunit/regress/regress-1207.js Review URL: http://codereview.chromium.org/6588083 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6594071 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This was wrongly marked as skip since we do not need to patch reloc info on x64 and arm when doing deoptization (issue 1094). Review URL: http://codereview.chromium.org/6597067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
When deoptimizing from the key subexpression of a keyed arguments access, the unoptimized code expects to find the value of the receiver on the expression stack. The environment of the optimizing compiler did not contain this value during evaluation of the key subexpression. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
We do not currently check that a global property is actually configurable before overwriting it with a new property. Review URL: http://codereview.chromium.org/6597045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
This reverts commit 503f2a501e504f330821f247074e731aa649b1f0. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
Review URL: http://codereview.chromium.org/6594037/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Feb, 2011 4 commits
-
-
mmaly@chromium.org authored
Review URL: http://codereview.chromium.org/6598023/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
Using const in strict mode yields SyntaxError. Review URL: http://codereview.chromium.org/6592031/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
I did not use the helper function for adding this builtin function which meant that I missed the removal of the prototype property. BUG= TEST= Review URL: http://codereview.chromium.org/6588050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
BUG=v8:1209 TEST=test/mjsunit/regress/regress-1209.js Review URL: http://codereview.chromium.org/6591042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Feb, 2011 1 commit
-
-
lrn@chromium.org authored
Resubmit of patch for issue 1145 with a few additions: - Now also clears exceptions when calling Runtime_LazyRecompile. - Sets function where parsing fails to not be optimizable. BUG=v8:1145 TEST=test/mjsunit/regress/regress-1145.js Review URL: http://codereview.chromium.org/6469050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Feb, 2011 3 commits
-
-
antonm@chromium.org authored
Check result before and bail out if exception has been thrown. BUG=v8:1172 TEST=test/mjsunit/regress/regress-1172-bis.js Review URL: http://codereview.chromium.org/6580030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Also fix issue 1175 and 1177. BUG=v8:1175 Review URL: http://codereview.chromium.org/6568007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
BUG=1811 TEST=test/mjsunit/regress/regress-1181.js Review URL: http://codereview.chromium.org/6573004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Feb, 2011 1 commit
-
-
ager@chromium.org authored
We can wrongly assume that exception which is not intended to be caught by external try/catch should be caught if this exception inherits external catcher from some previous exception. To prevent that, clear external catcher when processing exceptions which cannot be externally caught. BUG=v8:1184 TEST=test/mjsunit/regress/regress-1184.js Review URL: http://codereview.chromium.org/6538081 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Feb, 2011 6 commits
-
-
http://code.google.com/p/v8/issues/detail?id=1176mmaly@chromium.org authored
Review URL: http://codereview.chromium.org/6469083/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
The main issue was due to multiple recompilations of functions. Now code objects are grouped by function using SFI object address. JSFunction objects are no longer tracked, instead we track SFI object moves. To pick a correct code version, we now sample return addresses instead of JSFunction addresses. tools/{linux|mac|windows}-tickprocessor scripts differentiate between code optimization states for the same function (using * and ~ prefixes introduced earlier). DevTools CPU profiler treats all variants of function code as a single function. ll_prof treats each optimized variant as a separate entry, because it can disassemble each one of them. tickprocessor.py not updated -- it is deprecated and will be removed. BUG=v8/1087,b/3178160 TEST=all existing tests pass, including Chromium layout tests Review URL: http://codereview.chromium.org/6551011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Add more generic version of reloc info padding to ensure enough space for reloc patching during deoptimization (fixes issue 1174). The old version only added extra space when we did indirect calls, but the problem remains the same with normal calls that can be represented as a single byte. When doing patching each call will always be at least 2 bytes long because we use RUNTIME_ENTY as the reloc mode. Review URL: http://codereview.chromium.org/6541053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Fix second half of issue 1151, the first change (r6765) only fixed FunctionGetPrototype, not FunctionSetPrototype. Review URL: http://codereview.chromium.org/6548008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The class did not correctly implement the RequiredInputRepresentation. I changed this functions to be abstract so that all hydrogen classes must implement it. As a convention instructions with zero input operands return None as input representation. Instructions that can handle all input representations without converting before also have None as required input representation (e.g. HTest) All other instructions need a proper required input representation. Review URL: http://codereview.chromium.org/6538088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
Fix CallIC and KeyedCallIC to correctly use Handle<Object>. Review URL: http://codereview.chromium.org/6523052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Feb, 2011 1 commit
-
-
kmillikin@chromium.org authored
The Hydrogen graph translation does not build a branch for unary negation in an effect context, so the baseline compiler should not do so either. Review URL: http://codereview.chromium.org/6546050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Feb, 2011 1 commit
-
-
antonm@chromium.org authored
That better follows ECMA-262 (see 13.2 Creating Function Objects) and allows to ignore nasty JS accessors for 'constructor' property. BUG=v8:1172 TEST=test/mjsunit/regress/regress-1172.js Review URL: http://codereview.chromium.org/6531037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Feb, 2011 9 commits
-
-
mmaly@chromium.org authored
This reverts commit 6845 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Call accessors in the global object prototype when initializing global variables. Function declarations are special cased for compatibility with Safari and setters are not called for them. If this special casing was not done webkit layout tests would fail. Make the declaration of global const variables in the presence of callbacks a redeclaration error. Handle const context slot declarations conflicting with a CALLBACK as a redeclaration error. That is, unless it is on a context extension object which is not a real object and therefore conceptually have no accessors in prototype chains. Accessors in prototype chains of context extension objects are explicitly ignored in SetProperty. Review URL: http://codereview.chromium.org/6534029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
CallIC and KeyedCallIC do not wrap this when calling builtin and strict mode functions. Review URL: http://codereview.chromium.org/6523052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
may WebKit layout test failures. I will look into it tomorrow. TBR=kmillikin@chromium.org Review URL: http://codereview.chromium.org/6537021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
variables. Make the declaration of global const variables in the presence of callbacks a redeclaration error. Handle const context slot declarations conflicting with a CALLBACK as a redeclaration error. That is, unless it is on a context extension object which is not a real object and therefore conceptually have no accessors in prototype chains. Accessors in prototype chains of context extension objects are explicitly ignored in SetProperty. Review URL: http://codereview.chromium.org/6519050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
The test contains a syntax error that shouldn't be detected, but it sometimes is. TBR: kmillikin@chromium.org Review URL: http://codereview.chromium.org/6519049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
The baseline compiler does not materialize a value for expressions of the form !expr in an effect context so the graph translation should not produce such an environment, otherwise we risk targeting it by deoptimization. BUG=v8:1167 Review URL: http://codereview.chromium.org/6537018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
We currently leave the exception as pending without returning a Failure::Exception() value. This is either caught immediately if running with --debug-code, or caught later by an assert in debug mode. This change makes the pending exception be cleared before returning from the failed optimization attempt. BUG=v8::1145 TEST=test/mjsunit/regress/regress-1145.js Review URL: http://codereview.chromium.org/6524039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
When deoptimizing to after an expression of the form (expr0 || expr1) or (expr0 && expr1) in an effect context, the unoptimized code could incorrectly see the value of the expression. Handle the short-circuit binary operators specially in effect contexts. This fixes the issue and will generate better code when the left subexpression is boolean-valued. BUG=v8:1166 Review URL: http://codereview.chromium.org/6519046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Feb, 2011 2 commits
-
-
ager@chromium.org authored
As with named properties, search the value wrapper prototypes for properties. Review URL: http://codereview.chromium.org/6526046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
BUG=v8:1137 TEST=test/mjsunit/regexp.js Review URL: http://codereview.chromium.org/6499016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Feb, 2011 3 commits
-
-
mmaly@chromium.org authored
In strict mode the transformation of "this" is skipped. Code review feedback. Testing memory operand against 8 bit IMM on ia32 and x64. Review URL: http://codereview.chromium.org/6524006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6529020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Make sure we always have room for patching the reloc info during lazy deoptimization (fixes issue 1156). Before we could have calls to builtins that would not be in the relocation info since this used a register as target. Whenever we have this case (from lithium codegen) we now emit a comment in the reloc info. Review URL: http://codereview.chromium.org/6499015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-