sgjesse@chromium.org
45df23054a
ARM: Fix unaligned read/write
...
Fixed Building the simulator with CAN_USE_UNALIGNED_ACCESSES defined.
Fixed a bug in the code generator where it was doing unaliged read and write.
Review URL: http://codereview.chromium.org/6598062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-01 11:23:29 +00:00
fschneider@chromium.org
5a9c4aad23
Make the materialization of smi constants consistent between the two compilers.
...
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
2011-03-01 10:58:43 +00:00
kmillikin@chromium.org
6b1530ea6d
Fix a stack height mismatch when deoptimizing.
...
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
2011-03-01 09:32:45 +00:00
whesse@chromium.org
83248ea0fd
X64 Crankshaft: Add DoPower to lithium compiler on x64 platform.
...
Review URL: http://codereview.chromium.org/6592038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-01 09:30:56 +00:00
sgjesse@chromium.org
8f78eb7d4c
Minor change to FullCodeGenerator::EmitFastAsciiArrayJoin
...
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
2011-03-01 08:17:13 +00:00
ricow@chromium.org
c63d9c97cf
Do not allow non-configurable global properties to be made configurable (fixes issue 1213).
...
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
2011-03-01 08:09:17 +00:00
mmaly@chromium.org
749b69853a
Revert "Assignment to read only properties throws in strict mode."
...
This reverts commit 503f2a501e504f330821f247074e731aa649b1f0.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-01 06:10:41 +00:00
mmaly@chromium.org
98aea3c353
Assignment to read only properties throws in strict mode.
...
Review URL: http://codereview.chromium.org/6594037/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-01 01:42:37 +00:00
mmaly@chromium.org
bb0c22f11c
Strict mode - allow function only in SourceElements.
...
Review URL: http://codereview.chromium.org/6598023/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-28 19:07:02 +00:00
mmaly@chromium.org
180b6ec6b4
Disable const in strict mode.
...
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
2011-02-28 18:38:17 +00:00
whesse@chromium.org
417ee30828
Add MathPowStub to x64 platform, and fix error in stub on ia32 platform.
...
Review URL: http://codereview.chromium.org/6602007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-28 14:57:14 +00:00
ricow@chromium.org
94c18b1cf8
X64: Add a jumptable to for deoptimization checks on X64.
...
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
2011-02-28 13:57:42 +00:00
ager@chromium.org
7c561be519
Remove Error.prototype.toStrings prototype property.
...
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
2011-02-28 13:29:05 +00:00
vegorov@chromium.org
88b70c8941
When checking number of parameters in MakeCrankshaft code don't forget about receiver.
...
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
2011-02-28 13:20:10 +00:00
vegorov@chromium.org
df776337cd
Prepare push to trunk. Now working on version 3.1.8.
...
Review URL: http://codereview.chromium.org/6598035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-28 12:30:11 +00:00
vegorov@chromium.org
bdef78eda0
Detect overflow of contant pool in virtual frame compiler.
...
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
2011-02-28 12:09:53 +00:00
sgjesse@chromium.org
da5ab75a76
ARM: Fix the use of the ToBooleanStub when VFP3 is not available
...
Review URL: http://codereview.chromium.org/6594045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-28 11:52:06 +00:00
kmillikin@chromium.org
ee2659d4e6
Remove all functionality from class HSubgraph.
...
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
2011-02-28 08:52:00 +00:00
vegorov@chromium.org
46f57beaa6
Flush watermarks after compacting map space on mark-sweep collection.
...
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
2011-02-25 15:00:46 +00:00
sgjesse@chromium.org
1e08a785a9
ARM: Align full codegen with IA32 version
...
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
2011-02-25 13:29:02 +00:00
whesse@chromium.org
f149e4cd90
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
2011-02-25 13:22:38 +00:00
sgjesse@chromium.org
4d74d4d2c4
ARM: Fix instruction double to i
...
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
2011-02-25 13:04:07 +00:00
ager@chromium.org
a1cf6f2636
Fix assertion failure because of incorrect use of MaybeObjects.
...
Review URL: http://codereview.chromium.org/6599001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-25 12:56:46 +00:00
whesse@chromium.org
3393fda0cf
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
2011-02-25 12:12:47 +00:00
lrn@chromium.org
735dc96461
Fix bug 73940.
...
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
2011-02-25 11:30:22 +00:00
lrn@chromium.org
485f4ea0d9
Clear exceptions set during attempts to lazily optimize.
...
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
2011-02-25 11:17:31 +00:00
ricow@chromium.org
c416ddf166
X64: Implement DoHasInstanceType
...
Review URL: http://codereview.chromium.org/6581036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 19:25:22 +00:00
antonm@chromium.org
da463ab484
Get property may throw an exception thanks to JS accessors.
...
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
2011-02-24 17:42:56 +00:00
antonm@chromium.org
4718466e48
Landing for Zaheer.
...
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
2011-02-24 15:39:09 +00:00
sgjesse@chromium.org
1ef2b9a385
Fix bug in r6930 and r6933
...
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
2011-02-24 15:26:27 +00:00
whesse@chromium.org
7560fa903b
X64 Crankshaft: Implement Math.abs on x64 lithium.
...
Review URL: http://codereview.chromium.org/6576030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 15:21:30 +00:00
ricow@chromium.org
65e4a08793
Fix compile failure from revision 6934 and win64 compile failure from revision 6931.
...
Review URL: http://codereview.chromium.org/6576033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 14:22:36 +00:00
lrn@chromium.org
68f1c73a06
Fix array concat to follow the specification in the presence of element getters.
...
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
2011-02-24 14:00:52 +00:00
sgjesse@chromium.org
ef0f8985ed
X64: Port r5445
...
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
2011-02-24 13:37:59 +00:00
sgjesse@chromium.org
20f0b65df0
Fix porting bug in r6929
...
Review URL: http://codereview.chromium.org/6579036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 12:41:26 +00:00
ricow@chromium.org
77fffe2207
X64: Implement DoComputeOsrOutputFrame and fix Generate_OnStackReplacement.
...
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
2011-02-24 12:01:24 +00:00
sgjesse@chromium.org
bd2fb51375
ARM: Port r5445
...
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
2011-02-24 11:39:27 +00:00
sgjesse@chromium.org
c8f8c69fd6
X64: Port r6635 and r6659
...
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
2011-02-24 11:36:14 +00:00
ricow@chromium.org
cfd6268256
Fix wrong assertion in assembler causing the shell to crash with --code-comments.
...
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
2011-02-24 10:29:01 +00:00
karlklose@chromium.org
5572d24fc5
ARM: Fix DoubleToI.
...
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
2011-02-24 10:07:35 +00:00
fschneider@chromium.org
a23b4f2da9
Prepare push to trunk. Now working on version 3.1.7.
...
Review URL: http://codereview.chromium.org/6580027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 09:54:37 +00:00
mikhail.naganov@gmail.com
3adfa360a2
Remove old Python version of tickprocessor
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 08:23:37 +00:00
sgjesse@chromium.org
15c9091a85
Fix presubmit error.
...
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/6580026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 08:23:08 +00:00
sgjesse@chromium.org
acd4f89999
ARM: Port r6635 and r6659
...
r6635: Remove the redundant load on every context lookup.
r6659: Do not compile the unreachable body of functions with illegal redeclarations.
Review URL: http://codereview.chromium.org/6572003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 07:17:43 +00:00
ricow@chromium.org
0d6d0e6cd1
Land update to sputnik tests.
...
Original cl:
http://codereview.chromium.org/6542066/
Landing to ensure sync with buildbot update.
Review URL: http://codereview.chromium.org/6579032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-24 06:38:45 +00:00
fschneider@chromium.org
bdcf0ec270
Fix debug tracing of live ranges and remove unused code.
...
When printing the sub-parts of a live range, only print the use intervals
belonging to each part.
Add a flag to print all use positions (incl. environment uses)
Review URL: http://codereview.chromium.org/6566005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-23 15:25:04 +00:00
whesse@chromium.org
0d067b56c7
Temporarily disable DoStoreContextSlot in x64 lithium codegen to diagnose non-reproducible buildbot error. Fix presubmit error.
...
Review URL: http://codereview.chromium.org/6572002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-23 13:52:11 +00:00
whesse@chromium.org
c61ac2cd84
X64 Crankshaft: Add DoOuterContext to x64 lithium.
...
Review URL: http://codereview.chromium.org/6570008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-23 13:26:28 +00:00
kmillikin@chromium.org
791c9e2c21
Remove most uses of HSubgraph as an argument.
...
In a lot of cases where we were passing a subgraph (a pair of basic blocks),
we actually only needed a basic block.
Review URL: http://codereview.chromium.org/6570006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-23 11:59:18 +00:00
whesse@chromium.org
65443b3879
X64 Crankshaft: Add Typeof and TypeofIs to x64 lithium. Fix presubmit.
...
Review URL: http://codereview.chromium.org/6568004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-23 11:29:11 +00:00