mmaly@chromium.org
3c51baa1ac
Throw if setting length of a string in strict mode.
...
BUG=
TEST=test/mjsunit/strict-mode.js
Review URL: http://codereview.chromium.org/6623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 21:12:29 +00:00
cira@chromium.org
0f6709330c
Fix memory corruption with AdoptText method.
...
Icu setText method keeps pointer to text, it doesn't copy it so we have to keep text around for the lifetime of the break iterator object,
or next setText operation.
Review URL: http://codereview.chromium.org/6609038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 17:22:03 +00:00
whesse@chromium.org
76a6c73960
X64: Fix error in Win64 platform specific code in regexp stub.
...
Review URL: http://codereview.chromium.org/6626011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 13:01:47 +00:00
whesse@chromium.org
8a0e217186
Fix X64 Crankshaft error on Win64 platform, in deoptimizer-x64.cc parameter passing.
...
Review URL: http://codereview.chromium.org/6623013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 12:34:05 +00:00
fschneider@chromium.org
ff6190946c
Reorganize code for range analysis and suppress unnecessary debug printing of unknown ranges.
...
Review URL: http://codereview.chromium.org/6611020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 12:09:54 +00:00
vitalyr@chromium.org
eee3c5196a
Start sampler for the runtime profiler even when we can't setup a signal handler.
...
Review URL: http://codereview.chromium.org/6625013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 10:12:33 +00:00
kmillikin@chromium.org
36f63b8476
Change the translation of polymorphic stores.
...
They do not use subgraphs or subgraph scopes. Instead of computing a list
of single-block subgraphs and then adding all the edges afterward, build
both the blocks and edges directly.
Review URL: http://codereview.chromium.org/6615014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 10:07:43 +00:00
sgjesse@chromium.org
f6a366a851
Add missing cast.
...
Review URL: http://codereview.chromium.org/6623010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 09:36:04 +00:00
ricow@chromium.org
e772d9ea45
Remove unused label from lithium-codegen-ia32
...
Review URL: http://codereview.chromium.org/6615007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 09:07:31 +00:00
sgjesse@chromium.org
18a9bf69c5
Minor bug in int32 TypeRecordingBinaryOpStub.
...
BUG=none
TEST=none
Patch by Rodolph Perfetta from ARM Ltd.
Review URL: http://codereview.chromium.org/6612017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 07:36:52 +00:00
mmaly@chromium.org
88b60ebc24
Fix presubmit.
...
TBR=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6603032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 00:28:54 +00:00
mmaly@chromium.org
9dc156ac62
Passing strict mode throughout SetElement.
...
Throw if assigning to read only element.
Adding tests for element assignment in strict mode.
Fix tests for strict mode SetElement.
Review URL: http://codereview.chromium.org/6613005/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-04 00:21:52 +00:00
cira@chromium.org
a0f0faa8e4
Adding break iterator support to the i18n api extension.
...
This is vendor specific, and is prefixed by v8.
WebKit layout tests will be added in a separate CL.
Review URL: http://codereview.chromium.org/6610006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 17:32:18 +00:00
mmaly@chromium.org
30bd09cbd6
Renaming strict to strict_mode for uniformity.
...
Review URL: http://codereview.chromium.org/6611003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 16:17:28 +00:00
whesse@chromium.org
9cc9ecbfe9
Revert change 7048
...
Review URL: http://codereview.chromium.org/6613019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 16:09:52 +00:00
whesse@chromium.org
721d8d5b57
X64 Crankshaft: Fix and enable StoreContextSlot in lithium codegen on x64.
...
Review URL: http://codereview.chromium.org/6614017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 15:36:13 +00:00
fschneider@chromium.org
db9e6dcd86
Mark HChange that convert to int32 with truncation with the appropiate flag.
...
Before we would compute the flag by iterating over all uses. The truncating
flag is always determined at construction time since we already computed
the flag for all other instructions before inserting HChange instructions.
Review URL: http://codereview.chromium.org/6615012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 13:50:16 +00:00
lrn@chromium.org
df5c259bb2
Remove tests for being the normal array constructor from the ArrayConstructCode builtin.
...
Review URL: http://codereview.chromium.org/6613016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 13:36:31 +00:00
kmillikin@chromium.org
84aceb526a
Refactor translation of short-circuit logical operations to avoid subgraphs.
...
Do not use a subgraph or subgraph scope for the Hydrogen translation
of the short-circuit logical operations.
Review URL: http://codereview.chromium.org/6615010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 13:02:56 +00:00
lrn@chromium.org
f5839996fb
More cases of CallFunction that doesn't work correctly.
...
Review URL: http://codereview.chromium.org/6603015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 12:56:14 +00:00
lrn@chromium.org
30c0420b39
Undo change from .call to %_CallFunction.
...
The latter doesn't handle promotion of null/undefined to global object as
receiver for non-strict functions.
Review URL: http://codereview.chromium.org/6615013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 12:44:39 +00:00
whesse@chromium.org
5a40de9b21
Add new ARM macro assembler function CompareRoot left out of previous commit.
...
Review URL: http://codereview.chromium.org/6614015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 12:21:37 +00:00
whesse@chromium.org
8ff9165055
Simplify test for typeof x == 'y' on all platforms.
...
Review URL: http://codereview.chromium.org/6606005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 12:16:21 +00:00
lrn@chromium.org
4707d7ac08
Stop using plain Arrays internally in built-in functions.
...
In built-in code we use arrays for internal computations.
This makes it possible to affect the built-in code by putting getters
or setters on the Array prototype chain.
This adds a new internal Array constructor that creates Arrays with
a very simplistic prototype chain that doesn't include any publicly
visible objects. These Arrays shoudl ofcourse never leak outside the
builtins, since that would expose the prototype object.
The prototype object contains only the array functions that we use:
push, pop and join (and not even a toString, so it doesn't stringify
well).
Also change uses of .call to %_CallFunction.
BUG=1206
Review URL: http://codereview.chromium.org/6602081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 11:49:03 +00:00
lrn@chromium.org
8fddb2a664
Handled return-value of SetElement in some cases, or avoided it in other.
...
SetElement can cause an exception to be thrown. If its return value
isn't checked, this exception might not be handled at the correct time.
In some cases, it's a matter of returning Exception::Failure() from
a runtime function.
In other cases, code using SetElement on a JSArray has been changed
to setting directly on a FixedArray and only creating the JSArray
at the end.
Review URL: http://codereview.chromium.org/6588130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 10:16:22 +00:00
sgjesse@chromium.org
e3c95a645f
Fix mistake in r7033
...
TBR=karlklose@chromium.org
Review URL: http://codereview.chromium.org/6614012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 09:46:27 +00:00
sgjesse@chromium.org
98d82ea9de
Add lithium support for %_GetCachedArrayIndex for IA32 and X64
...
BUG=v8:1093
Review URL: http://codereview.chromium.org/6611014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 09:33:08 +00:00
sgjesse@chromium.org
1c210fc221
Remove unwanted character
...
TBR=karlklose@chromium.org
Review URL: http://codereview.chromium.org/6615008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 08:50:35 +00:00
sgjesse@chromium.org
53764d16f5
Turn on crankshaft as the default for X64 and ARM
...
Review URL: http://codereview.chromium.org/6603012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 08:43:55 +00:00
sgjesse@chromium.org
39efab0df6
ARM: Support %_SwapElements in the full compiler
...
Review URL: http://codereview.chromium.org/6597106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 07:36:04 +00:00
sgjesse@chromium.org
37214d189d
Fixed lol SetProperty() calls to specify the needed strict mode.
...
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/6615006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-03 07:14:55 +00:00
whesse@chromium.org
9d89ec5c00
Add ArithmeticD(MOD) to x64 optimizing code generator. Minor changes to ArithmeticD on other platforms.
...
Review URL: http://codereview.chromium.org/6594118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 15:04:20 +00:00
karlklose@chromium.org
64191ccc8d
ARM: Implement untagged input for TranscendentalCacheStub.
...
Review URL: http://codereview.chromium.org/6591073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 14:40:38 +00:00
kmillikin@chromium.org
d6a041b8f9
Remove some more uses of subgraphs and more cleanup of the graph builder.
...
Do not use subgraphs to implement the translation of simple branching
control flow, for the function body entry, or for labeled blocks.
Combine all the loop construction functions into a single one.
Resolve a possible problem with duplicate AST IDs used both for joined loop
break blocks, the normal loop exit, and for their common successor, by never
introducing the extra (successor) block and instead making the normal loop
exit a predecessor of the break join block. There is a similar issue with
joined continue blocks.
Remove a (never needed) two-element zone list per each time we replace one
hydrogen value with another.
Review URL: http://codereview.chromium.org/6604002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 14:09:59 +00:00
ager@chromium.org
9390c69a54
Delete empty directories.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 13:51:41 +00:00
ager@chromium.org
b0aa981b61
Prepare push to trunk. Now working on version 3.2.0.
...
Review URL: http://codereview.chromium.org/6588118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 13:29:59 +00:00
whesse@chromium.org
af77b5a878
Add MarkAsCall to the LArithmeticD::MOD instruction, that calls a C function, on ia32 platform
...
Review URL: http://codereview.chromium.org/6596105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 12:26:20 +00:00
ager@chromium.org
6b069023c0
Generalize fix for overflowing of the frame-element constant pool.
...
BUG=74627
Review URL: http://codereview.chromium.org/6588116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 11:45:31 +00:00
kmillikin@chromium.org
043a876e93
Translate loops without using subgraphs.
...
Build all loop graphs without using class HSubgraph. This also eliminates a
silly goto for the update expression of a for loop.
Support for peeling loops is removed because it's currently untested.
Review URL: http://codereview.chromium.org/6602031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 11:09:25 +00:00
fschneider@chromium.org
ef06ab5f3e
Enable optimizing JSFunctions that are in new-space.
...
It avoids strange performance behavior where hot functions do not
get optimized if there is no GC to promote them, and it does not seem
to hurt us otherwise.
Review URL: http://codereview.chromium.org/6594073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 10:16:47 +00:00
ricow@chromium.org
3b5256b352
X64: implement DoHasCachedArrayIndex in lithium compiler.
...
Review URL: http://codereview.chromium.org/6596104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 10:12:33 +00:00
sgjesse@chromium.org
1703b8a35c
Implement int32 TypeRecordingBinaryOp on ARM.
...
TEST=none
BUG=none
Patch by Rodolph Perfetta from ARM Ltd.
Review URL: http://codereview.chromium.org/6594009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 09:31:42 +00:00
ricow@chromium.org
617ccc1d93
X64: Implement StringCharAtStub which is used from lithium codegen.
...
This fixes issue 1116 and enables the stub in lithium codegen.
Review URL: http://codereview.chromium.org/6588113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 09:28:04 +00:00
sgjesse@chromium.org
9c161bcf21
Adding files for LiveObjectList implementation.
...
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/6357005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 09:16:05 +00:00
sgjesse@chromium.org
8481a75698
Adding debugger interface and runtime functions hooks for supporting
...
LiveObjectList functionality.
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/6351007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 08:10:38 +00:00
ricow@chromium.org
33bc7f974f
X64: Always use rax as left register from DoInstanceOfKnownGlobal.
...
On IA32 we use InstanceofStub::left(), but on x64 we have just used rax and rdx directly. This fixes the assertion crashes on x64 crankshaft.
Review URL: http://codereview.chromium.org/6596101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 07:52:14 +00:00
ager@chromium.org
ed7265ea21
Remove break iterator support from the i18n api extension. It breaks
...
the Windows WebCore build.
http://build.chromium.org/p/client.v8/builders/Webkit/builds/854/steps/compile/logs/stdio
TBR=cira@chromium.org
Review URL: http://codereview.chromium.org/6596100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 07:32:59 +00:00
ager@chromium.org
06ecb61598
Attempt to fix WebCore windows build.
...
If this does not work I will revert the latests changes to the
experimental i8n extension.
TBR=cira@chromium.org
Review URL: http://codereview.chromium.org/6594111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-02 07:12:53 +00:00
mmaly@chromium.org
1d040083b0
Assignment to read only properties throws in strict mode.
...
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
2011-03-02 04:53:43 +00:00
cira@chromium.org
ac7bc8f1c3
Adding break iterator support to the i18n api extension.
...
This is vendor specific, and is prefixed by v8.
WebKit layout tests will be added in a separate CL.
Review URL: http://codereview.chromium.org/6598014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-01 19:43:28 +00:00