- 01 Mar, 2011 7 commits
-
-
fschneider@chromium.org authored
This change makes the full code generator always materialize smi constants to match the behavior of the environment tracked in the optimizing compiler. The mismatch between environment and what the non-optimized code causes problems and potentially crashes when doing deoptimization and OSR. BUG=67732 Review URL: http://codereview.chromium.org/6592064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6982 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
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6592038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The counting loop is always run at least once, and checking the loop condition once is sufficient. Review URL: http://codereview.chromium.org/6592010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6979 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 10 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
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6602007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
The current version includes an extra jump compared to IA32, because we need to load the jump address into a register and do an indirect jump, but in the normal case we just jump over this by negating the deoptimization conditional. Review URL: http://codereview.chromium.org/6596032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6972 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
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/6598035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Gracefully fallback to a different code pattern when that happens. BUG=http://crbug.com/61802 TEST=none Review URL: http://codereview.chromium.org/6599002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6594045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Move the member functions of HSubgraph to HGraphBuilder. Review URL: http://codereview.chromium.org/6573006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Feb, 2011 8 commits
-
-
vegorov@chromium.org authored
MapCompact does not use MC-allocation routines so watermarks are not updated automatically and might become inconsistent. BUG=http://crbug.com/59688 Review URL: http://codereview.chromium.org/6588007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Use ToBooleanStub in DoTest instead of runtime call. Try allocation in generated code in VisitRegExpLiteral. Use TranscendentalCacheStub for sin, cos and log instead of calling runtime. Minor "alignment" of the full codegen code across platforms. Review URL: http://codereview.chromium.org/6597003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
X64 Crankshaft: Fix error in r6897. Restore context register after KeyedCallIC. Only non-trivial change is to lithium-codegen-x64.cc.Update copyright dates on all recently modified X64 platform files. Review URL: http://codereview.chromium.org/6592008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The double to i convertion should round to zero not infinity. Thes bug was revealed by http://codereview.chromium.org/6597003, where the value of (x * 1.0000000001) | 0 was x - 1 and not x when x was a negative smi. I will not commit http://codereview.chromium.org/6597003 before this is committed. TEST=test/mjsunit/smi-ops-inlined.js Review URL: http://codereview.chromium.org/6594008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/6599001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
X64 Crankshaft: Add untagged version of TranscendentalCacheStub to x64, enable Cos, Sin, and Log in lithium. Review URL: http://codereview.chromium.org/6580032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
I think this actually turns the code in question into dead code, because the current definition of UseSparseVariant only allows arrays in DictionaryMode, and these never return encoded ranges from %GetArrayKeys. This is a subtle link between the definition of %GetArrayKeys and UseSparseVariant, so I would prefer to keep the code rather than having an invisible depeendency. BUG=73940 Review URL: http://codereview.chromium.org/6596004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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 15 commits
-
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6581036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
antonm@chromium.org authored
Direct call accessor getter callbacks (arm implementation). Original review: http://codereview.chromium.org/6462029/ Review URL: http://codereview.chromium.org/6576035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The loading the register used for the null object was to early and it could be clobbered. TBR=karlklose@chromium.org BUG=none TEST=mozilla/ecma_3/Statements/regress-131348 Review URL: http://codereview.chromium.org/6578020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6576030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6576033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6935 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
-
sgjesse@chromium.org authored
r5445: Implement for-in cache validity checking in the full codegen on IA-32. BUG=v8:867 TEST=none Review URL: http://codereview.chromium.org/6576028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6579036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
The existing version does not have a correct implementation of Generate_OnStackReplacement since we do not correctly find the loop depth. This is mainly because EmitStackCheck in full-codegen-x64.cc did not write it and partly due to us reading at the wrong offset (which had no effect when it was not written in the first place, we simply got a random number from the next instruction). The DoComputeOsrOoutputFrame is very similar to the ia32 version. Review URL: http://codereview.chromium.org/6581028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
r5445: Implement for-in cache validity checking in the full codegen on IA-32. Review URL: http://codereview.chromium.org/6581031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
r6635: Remove the redundant load on every context lookup. r6659: Do not compile the unreachable body of functions with illegal redeclarations. The crankshaft part of these changes are already ported. Review URL: http://codereview.chromium.org/6581029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Since writting a code comment can include a pc-jump the assertion should just check that we are greater than or equal to kMinRelocCommentSize (renamed from kRelocCommentSize), not that we are actually equal to. Review URL: http://codereview.chromium.org/6580028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6928 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
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/6580027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-