Commit Graph

7119 Commits

Author SHA1 Message Date
danno@chromium.org
df860eda5c Don't allow seal or element property re-definition on external arrays.
R=ricow@chromium.org
BUG=95920
TEST=test/mjsunit/regress/regress-95920.js

Review URL: http://codereview.chromium.org/7858031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 14:30:00 +00:00
svenpanne@chromium.org
1341ae7c1a Re-use phi reachability information to avoid a fixed-point computation.
When we propagate the information that a value is not convertible to integer,
there is no need for a separate fixed-point computation, we can do things the
"Millikin way" (tm), folding as much computation as possible into a single pass:
;-) We already have the phi node reachability information, so we can easily
propagate this while doing the representation histogram computation.
Review URL: http://codereview.chromium.org/7754010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 13:12:52 +00:00
yangguo@chromium.org
37e39ce3f9 Trigger OOM when zone is full.
Review URL: http://codereview.chromium.org/7859030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 12:41:58 +00:00
yangguo@chromium.org
2a92165101 Better error messages for d8's load() (execute from file).
BUG=v8:796

Review URL: http://codereview.chromium.org/7754018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 11:10:36 +00:00
danno@chromium.org
9b2de409f9 Mechanical refactor to move ElementsKind type out of JSObject.
R=svenpanne@chromium.org
BUG=none
TEST=all

Review URL: http://codereview.chromium.org/7849017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 09:35:57 +00:00
fschneider@chromium.org
366416f7bd Add a function to compute loop nesting level to HBasicBlock.
Review URL: http://codereview.chromium.org/7857031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 09:17:57 +00:00
vitalyr@chromium.org
c6e19bfbba Follow up fixes for r9205: shared library build and thread deletion.
Review URL: http://codereview.chromium.org/7787013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 23:43:36 +00:00
vitalyr@chromium.org
2063e14c15 Release memory of semaphores and thread pointers by using 'delete' instead of SmartPointer.
As pointed out in: http://codereview.chromium.org/7754007/

SmartPointer expects an input allocated using new[] and deallocates it using delete[].
So using SmartPointer for deleting T* here is incorrect. Fix it now.

R=vitalyr@chromium.org

Review URL: http://codereview.chromium.org/7846022
Patch from Thiago Farina <tfarina@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 22:44:03 +00:00
ricow@chromium.org
b8cbe08fcc Fix presubmit errors caused by updated depot tools
This is all blank line before/after linting errors.
Review URL: http://codereview.chromium.org/7754022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 19:57:14 +00:00
kmillikin@chromium.org
78ce35effd Use more style-guide-friendly names for some constants.
This is a renaming only change.

R=erik.corry@gmail.com
BUG=
TEST=

Review URL: http://codereview.chromium.org/7849020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 16:29:57 +00:00
ricow@chromium.org
d409a49d57 Prepare push to trunk. Now working on version 3.6.3.
Review URL: http://codereview.chromium.org/7849019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 16:09:24 +00:00
mikhail.naganov@gmail.com
080628d32f Fix memory leak from d8 shell.
We were not disposing the semaphores and the thread used in SourceGroup.

R=mnaganov@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>

Review URL: http://codereview.chromium.org/7754007/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:51:06 +00:00
lrn@chromium.org
c1dc429c02 Fix bug in collector.
Small cleanups in preparser.

TEST=cctest/test-utils/SequenceCollectorRegression

Review URL: http://codereview.chromium.org/7754014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:44:11 +00:00
jkummerow@chromium.org
6dcf7cc4a7 Add "soname_version" parameter to common.gypi, v8.gyp, Makefile
TEST=compile with component=shared_library and soname_version=1.2.3 and find "libv8-1.2.3.so" in the output.

Review URL: http://codereview.chromium.org/7848017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:20:49 +00:00
lrn@chromium.org
689f3cb314 Rename scanner.* to scanner-character-streams.*. and scanner-base.* to scanner.*
R=lrn@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>

Review URL: http://codereview.chromium.org/7739020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:06:44 +00:00
yangguo@chromium.org
17d3f54b09 Amends to r9181 and r9191.
Review URL: http://codereview.chromium.org/7847019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 11:03:26 +00:00
yangguo@chromium.org
128552db35 Fixing shared library build of d8.
Review URL: http://codereview.chromium.org/7851013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 09:49:52 +00:00
erik.corry@gmail.com
1e83d2f92e Fix missing setting of array to copy-on-write in
optimized string split.
Review URL: http://codereview.chromium.org/7849012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 09:24:32 +00:00
kmillikin@chromium.org
5f1b39e0d5 Remove ExitContextStatement.
All the constructs that used it are now properly bracketed in the AST and we
handle abrupt exits without try/finally.  We can treat normal context exit
as occurring implicitly at the end of a body.

Review URL: http://codereview.chromium.org/7837025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 08:59:14 +00:00
yangguo@chromium.org
ca67c5a23d Functions in d8 to turn the profiler on/off (enableProfiler() and disableProfiler()).
Review URL: http://codereview.chromium.org/7851011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 08:54:28 +00:00
kmillikin@chromium.org
0b1225a5aa MIPS: port Remove variable rewrites and the unneccesary Slot class.
Port r9162 (2215df8).

BUG=
TEST=

Review URL: http://codereview.chromium.org/7847015
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 08:47:07 +00:00
jkummerow@chromium.org
cd39194ce0 Introduce push-to-trunk.sh (for git users)
Review URL: http://codereview.chromium.org/7835035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 08:46:31 +00:00
svenpanne@chromium.org
ffb70bc843 Improved phi reachability computation a bit.
The use-def relation between phis is mainly "forwards" (i.e. from phis with
smaller IDs to ones with larger IDs), so the fixed point computation terminates
faster when iterate through the phis in a "backwards" manner. This is quite
visible in complex Mandreel-generated code, where a few hundred phis with
non-trivial use-def chains are generated.
Review URL: http://codereview.chromium.org/7848012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 07:40:11 +00:00
ricow@chromium.org
6bcf162853 Fix wrong assert from 9180
There is an optional parameter to the function, with default value being a null handle. We then check that this is a flat string.
Review URL: http://codereview.chromium.org/7850011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 06:23:05 +00:00
erik.corry@gmail.com
2f32fab4d0 JSArray can go slow case during String.split. Guard against
that eventuality.
Review URL: http://codereview.chromium.org/7840031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 06:06:13 +00:00
mikhail.naganov@gmail.com
62ee7223d8 Add *.so to .gitignore.
This is so we can ignore libv8_g.so and libv8preparser_g.so when running git status.

TEST=git status. You should not see the above libraries in the output.

R=mnaganov@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>

Review URL: http://codereview.chromium.org/7839036/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 21:09:13 +00:00
yangguo@chromium.org
f877f7bda2 Fixing presubmit error.
Review URL: http://codereview.chromium.org/7839031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 16:15:48 +00:00
yangguo@chromium.org
bee91360af Faster non-regexp global string.replace.
BUG=v8:1662

Review URL: http://codereview.chromium.org/7782028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 15:17:57 +00:00
yangguo@chromium.org
6336eb7c20 Presubmit output to distinguish check phases.
Review URL: http://codereview.chromium.org/7795050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 15:17:18 +00:00
jkummerow@chromium.org
f131cce3fe Add "dependencies" target to top-level Makefile
Review URL: http://codereview.chromium.org/7739021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:48:29 +00:00
erik.corry@gmail.com
5eb11917dc Fix 64 bit build on Windows.
Review URL: http://codereview.chromium.org/7841035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:44:42 +00:00
erik.corry@gmail.com
c49d400347 Fix assert on Mozilla test after String split optimization.
Review URL: http://codereview.chromium.org/7837026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:17:25 +00:00
erik.corry@gmail.com
e9cc1804bd Make one-character strings into symbols more agressively.
Review URL: http://codereview.chromium.org/7840029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:13:56 +00:00
lrn@chromium.org
81e7f597b0 Reintroduce duplicate identifier detection in preparser.
Duplicate identifier detection must be an early syntax error in strict code,
so errors in otherwise lazily compiled functions must be caught in the
preparser.

Originally introduced in r8541 and reverted in r8542.
Now really compiles on Windows.

Review URL: http://codereview.chromium.org/7782023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 12:39:53 +00:00
jkummerow@chromium.org
c7a0c19d11 Prepare push to trunk. Now working on version 3.6.2.
R=lrn@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7841034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 12:37:07 +00:00
lrn@chromium.org
2c8680cc46 Avoid size increase of snapshot.
The prototype of builtin functions is already unwritable, so we don't
have to make it so (the default map for functions changes after builtins
are initialized).

We no longer need to make the prototype non-extensible, since all properties
that are ever read by the bultins code has been added and frozen already.
Adding properties to the prototype, or changing its __proto__, cannot affect
code.

Removing these two pieces of initialization code reduces the snapshot size
by a few Kb.

Review URL: http://codereview.chromium.org/7839028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:56:06 +00:00
erik.corry@gmail.com
a6864a4dd8 Fix presubmit
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:49:12 +00:00
erik.corry@gmail.com
260d65d584 Optimize the common obfuscator pattern where ["foo","bar","baz"]
gets converted fo "foo,bar,baz".split(",").  If the inputs are
symbols we cache the result and make the substrings into symbols.
Review URL: http://codereview.chromium.org/7782025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:28:48 +00:00
kmillikin@chromium.org
765cf1f25e Fix presubmit failures.
TBR=fschneider@chromium.org

Review URL: http://codereview.chromium.org/7837024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:11:36 +00:00
kmillikin@chromium.org
94777e213d Remove variable rewrites and the unneccesary Slot class.
R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7824038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:02:31 +00:00
svenpanne@chromium.org
296612c114 Nuked unused method declaration.
Review URL: http://codereview.chromium.org/7841030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 09:34:47 +00:00
kmillikin@chromium.org
8b165d414f Fix a bug in abrupt exit from with or catch inside finally.
When with or catch is nested inside finally, we were not properly restoring
the context in the stack for the finally code.  Also, as a small
optimization, restore it from the handler block instead of iteratively
unwinding contexts.

R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7837023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 09:21:44 +00:00
keuchel@chromium.org
85a5b6d3c4 Getting rid of ExitContextStatement for scoped blocks.
Review URL: http://codereview.chromium.org/7835027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 22:00:59 +00:00
keuchel@chromium.org
edd893a159 Simplfy handling of exits from scoped blocks.
BUG=
TEST=mjsunit/harmony/block-leave.js

Review URL: http://codereview.chromium.org/7792100

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 21:48:32 +00:00
keuchel@chromium.org
0820205316 Avoid dynamic lookup when initializing let declared variables.
'Let's inside a 'with' would initialize the variable
using the StoreContextSlot runtime function which
would fail because it checks that the variable does
not hold the hole value.

Review URL: http://codereview.chromium.org/7792098

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 21:22:35 +00:00
yangguo@chromium.org
8b82ad274f Put test directories of d8-os tests into /tmp/.
Review URL: http://codereview.chromium.org/7835040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 14:48:08 +00:00
jkummerow@chromium.org
09c66d20ce Fix possible crash in FixedDoubleArray::Initialize()
(this only affected ia32).

BUG=95113
TEST=mjsunit/regress/regress-95113.js passes without crashing.

Review URL: http://codereview.chromium.org/7833040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 14:07:54 +00:00
ricow@chromium.org
df9d8ee8be Fix map space explosion from changing the arguments and caller properties on native functions.
Adding these local properties on all native functions made us do a
ConvertDescriptorToField on the callback on each and every native
functions, resulting in us creating an extra map for each of these.
Review URL: http://codereview.chromium.org/7779046

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 14:03:32 +00:00
vegorov@chromium.org
d451878c91 Fix bug in Page::GetRegionMaskForSpan.
When checking for a wrap take into account offset of the start address in the region.

BUG=http://crbug.com/94425
TEST=test/mjsunit/regress/regress-94425.js
Review URL: http://codereview.chromium.org/7779037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 11:24:48 +00:00
yangguo@chromium.org
bd624b2f9f Limit the time d8 interactive shell's input strings stay alive.
Review URL: http://codereview.chromium.org/7779032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 09:07:39 +00:00