Commit Graph

7213 Commits

Author SHA1 Message Date
lrn@chromium.org
6875d5e734 Optimize isFinite and isNaN.
Arithmetic on infinities and NaN is much slower than doing several exact comparisons.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 11:08:57 +00:00
fschneider@chromium.org
42e8bb6216 Prepare push to trunk. Now working on version 3.6.1.
Review URL: http://codereview.chromium.org/7833025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 10:37:49 +00:00
erik.corry@gmail.com
72bf0e229e Up the max heap size from 512Mbytes to 700MBytes as an experiment.
Review URL: http://codereview.chromium.org/7835029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 10:35:31 +00:00
yangguo@chromium.org
efada0017a MIPS: port Generated code for substring slices in x64 and arm.
Ported r9111 (2b946464)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 09:05:52 +00:00
yangguo@chromium.org
63bbe11e6a MIPS: Minor cleanup change to arguments slots constants.
This is the bleeding_edge port of our crankshaft commit 41cab38.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 09:04:32 +00:00
mikhail.naganov@gmail.com
29bb1f8d62 Remove STL dependencies from mksnapshot.cc
Remove unused code and consequently the stl includes of map and string.

R=mnaganov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 08:06:29 +00:00
lrn@chromium.org
449fd357df Remove unused includes from scanner.h.
This file should also be renamed to something else, as after many refactors,
there isn't any Scanner class in there, just four CharacterStream classes.

R=lrn@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 07:39:47 +00:00
mikhail.naganov@gmail.com
1e90df2aad A temporary workaround for huge heap snapshots problem.
Do not try to serialize them into JSON to avoid crashing / hanging DevTools.

R=sgjesse@chromium.org
BUG=v8:1658,89268
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 07:37:52 +00:00
lrn@chromium.org
ffffa716c5 Lock the prototype of internal classes.
Prototypes and their properties and methods are locked down to prevent fiddling with their operation, even if the build-in object leaks.

Made some built-in functions only work during bootstrapping.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 07:30:35 +00:00
mikhail.naganov@gmail.com
f6c063e143 Avoid creating shell name every time in shell sample.
R=mnaganov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 18:50:24 +00:00
mikhail.naganov@gmail.com
5105a20dd7 Make a static non-POD object a static raw pointer instead.
Change it to a plain static pointer and initialize lazy.

BUG=83856
TEST=None

R=ager@chromium.org,mnaganov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 16:46:35 +00:00
yangguo@chromium.org
9e7f24a739 Fixed performance regression in v8 regexp benchmark on ARM.
Review URL: http://codereview.chromium.org/7824033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 13:42:50 +00:00
fschneider@chromium.org
b20f952e71 Remove unused code for AstSentinels and related stuff.
TEST=compiles
Review URL: http://codereview.chromium.org/7792097

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 12:59:05 +00:00
keuchel@chromium.org
ccd2cd8f64 Prune empty block scopes from scope tree
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 12:43:28 +00:00
lrn@chromium.org
b7eb138eab The spec (15.1.2.2 parseInt (string , radix)) says ToString should be called before ToInt32.
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

In the current implementation, the order is reversed. So this webkit test (https://bugs.webkit.org/show_bug.cgi?id=65366) fails on Chromium.

BUG=1649
TEST=parse-int-float.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 11:38:40 +00:00
fschneider@chromium.org
5289e3e08b Allow OSR for closures that reference context slots.
Review URL: http://codereview.chromium.org/7812023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 09:29:21 +00:00
fschneider@chromium.org
30754768ba Add flaky test expectation for a mozilla-debug test that assumes a specific execution time.
Review URL: http://codereview.chromium.org/7053036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 09:28:14 +00:00
yangguo@chromium.org
0409c8d6ec Only presubmit check files in git repo for copyright note etc. (if using git).
Review URL: http://codereview.chromium.org/7792068

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 08:04:51 +00:00
fschneider@chromium.org
913f444cb7 Support declarations of context allocated locals in Crankshaft.
The changes to scopes and parser introduce a VariableProxy
wrapping the function-name variable for function literals.
It seems the easiest way to get an AST id for the HSimulate
after context-slot stores in declarations.
Review URL: http://codereview.chromium.org/7826009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 16:33:57 +00:00
yangguo@chromium.org
1be99a9627 Generated code for substring slices in x64 and arm.
Review URL: http://codereview.chromium.org/7795018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 15:24:26 +00:00
svenpanne@chromium.org
4e049d4619 Include more information when printing phi nodes.
Still a bit cryptic, but people interested in phi nodes should know what they're doing... ;-)
Review URL: http://codereview.chromium.org/7824004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 14:59:47 +00:00
yangguo@chromium.org
00c1153887 Changed printing of immediate result in d8's interactive shell.
BUG=v8:371

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 14:02:35 +00:00
keuchel@chromium.org
d434d3158c Detect conflicting variable bindings in harmony mode.
BUG=
TEST=mjsunit/harmony/block-conflicts.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 12:31:18 +00:00
lrn@chromium.org
fdc7f60f42 Make functions on the built-in object non-writable.
Review URL: http://codereview.chromium.org/7736018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:57:02 +00:00
jkummerow@chromium.org
9defb2f22a move -m32 flag for ia32 targets from standalone.gypi to common.gypi
so that we no longer depend on Chromium setting this flag.

BUG=v8:1648

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:50:29 +00:00
yangguo@chromium.org
86a62d0da3 Added check for trailing whitespaces and corrected existing violations.
Review URL: http://codereview.chromium.org/7826007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:28:10 +00:00
ricow@chromium.org
4e94cd8b08 Make arguments and caller always be null on native functions (fixes issue 1548 and issue 1643).
With this change we follow Firefox, Safari has a slightly different approach where the property is just not there (at least according to GetOwnProperty). 
Review URL: http://codereview.chromium.org/7792054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:09:11 +00:00
svenpanne@chromium.org
d02dfb301d Tiny change flags cleanups.
Introduced a getter for change flags, making a related helper function private.

Do not print a '*' at the end of hydrogen instruction mnemonics with side
effects, this is subsumed by the 'changes' info.
Review URL: http://codereview.chromium.org/7827009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:06:03 +00:00
vegorov@chromium.org
e833f91eb3 Do constant function check earlier in TryCallApply and ensure correct environment for deopt.
R=kmillikin@chromium.org
BUG=v8:1650
TEST=test/mjsunit/regress/regress-1650.js
Review URL: http://codereview.chromium.org/7812033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 10:33:59 +00:00
kmillikin@chromium.org
690efb3a04 Fix deoptimization data printing.
Remove a spurious newline.

R=whesse@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 08:00:40 +00:00
lrn@chromium.org
1b4cb57c52 Cleanup of messages.js.
Lock down some otherwise modifiable objects that don't need it.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 07:39:22 +00:00
yangguo@chromium.org
d586e9c504 MIPS: port ARM: Fix context save/restore for VFP registers.
This commit was missed/skipped earlier for some reason.

Ported r8357 (d78dae4)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 07:35:33 +00:00
jkummerow@chromium.org
c657d440ba MIPS: port ARM: Changed the handling of compiletime CPU feature detection
Another port of an older arm commit, which was not upstreamed at the time.

Ported r7754 (ef678641)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 15:34:33 +00:00
jkummerow@chromium.org
6c9ce544cc MIPS: Convert a bunch of ASSERTs to STATIC_ASSERTs
Ported r9057 (f6c548d)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 15:22:43 +00:00
jkummerow@chromium.org
f3fc54666a Add support for shared library builds to tools/test-wrapper-gypbuild.py
by setting LD_LIBRARY_PATH as required

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 14:15:42 +00:00
yangguo@chromium.org
ccb262ea3a Changed test expectations for ARM and MIPS.
Review URL: http://codereview.chromium.org/7778042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 14:12:25 +00:00
fschneider@chromium.org
ffc6c7e56b Introduce local function declarations in Crankshaft and fix issue 1647.
We have to emit code for declarations later into the body block
(and not into the start block) so that the environment contains
the correct values.

In order to capture the environment effect of the declarations
that generate code (function declarations) I inserted a separate
AST id and a HSimulate after the declarations are visited.

Also fixes handling deopt in named function expressions:
BUG=v8:1647
TEST=test/mjsunit/regress/regress-fundecl.js, test/mjsunit/regress/regress-1647.js
Review URL: http://codereview.chromium.org/7776009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 13:26:08 +00:00
jkummerow@chromium.org
829e174a02 Add tools/presubmit.py call to tools/test-wrapper-gypbuild.py
Review URL: http://codereview.chromium.org/7785025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 13:01:28 +00:00
keuchel@chromium.org
227e679ce9 MIPS: port Temporal dead zone behaviour for let bindings.
Ported r9070 (1cfdac01)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 10:01:43 +00:00
svenpanne@chromium.org
07c1c9ebc7 MIPS: small test-case fix for chaining of fixup position.
Add nops to the branch-delay slots of the 'beq' and 'bne' instructions
used in the test-case. Having a branch instruction in the branch-delay-slot
of another branch is undefined on mips.

In regular code we avoid this by using the Branch() macro-instruction which
fills the branch-delay-slot with nop() automatically, unless the programmer
asks to use it (via USE_BRANCH_DELAY).

There is more info about branch-delay-slots on this page, and in the ISA
reference also on the page:

https://github.com/paul99/v8m-rb/wiki/MIPS-instruction-set-and-v8

BUG=
TEST=
Review URL: http://codereview.chromium.org/7812019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 09:42:28 +00:00
yangguo@chromium.org
9b0c0c40e1 Removed unnecessary change log item.
Review URL: http://codereview.chromium.org/7740077

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 08:22:36 +00:00
yangguo@chromium.org
ea1879f1d5 Prepare push to trunk. Now working on version 3.6.0.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 07:59:23 +00:00
yangguo@chromium.org
90c6c826ba MIPS: port Fix for a possible bug in RegExp stack guard.
Ported r9058 (43f127bd)

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 07:32:47 +00:00
mikhail.naganov@gmail.com
4f3a8bd137 Return v8::True or v8::False instead of using Boolean::New.
BUG=None
TEST=None

R=mnaganov@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 18:45:48 +00:00
yangguo@chromium.org
3c04a9d71d MIPS: Added ASSERTs to BranchShort to detect bad use of 'at' register.
Make sure 'at' and an immediate operand can't be used together in cases
where 'at' would be overwritten by li.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 16:15:48 +00:00
yangguo@chromium.org
65daf10c23 MIPS: Fix implementation of string slices.
Bug on mips using at register innapropriately, use different reg as temp.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 16:13:02 +00:00
keuchel@chromium.org
42388ad5c7 Temporal dead zone behaviour for let bindings.
BUG=
TEST=mjsunit/harmony/block-let-semantics.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 11:23:57 +00:00
mikhail.naganov@gmail.com
458cdd6d8b Add a dependency of v8_base on WinSocket2 Windows library.
v8_base depends on ws2_32.lib for accept() and some of the
other socket used for the debugger.

Patch by Ryan Dahl <ry@tinyclouds.org>

R=jkummerow@chromium.org
BUG=none
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 11:10:09 +00:00
mstarzinger@chromium.org
c6e42e1bfa Fix initial prototype of WeakMap function.
The bootstrapper accidentally overwrote the constructor property of the Object
prototype because it used initial_object_prototype() as prototype for WeakMap.
Unfortunately this is not possible for experimental natives because they are
installed after the snapshot initialization finished.

R=erik.corry@gmail.com
TEST=mjsunit/mirror-object,mjsunit/harmony/weakmaps

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 09:35:20 +00:00
yangguo@chromium.org
4cc8ca359a Fixing presubmit issue.
Review URL: http://codereview.chromium.org/7792034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 09:05:40 +00:00