lrn@chromium.org [Mon, 20 Jun 2011 10:20:57 +0000 (10:20 +0000)]
Make "native" not a keyword.
We now only recognize "native function" when it occurs in extension scripts
(parsing with a non-NULL extension), and only if there is no line-terminator
between "native" and "function" (so that it would otherwise be a Syntax Error).
Preparsing never recognizes native functions, which is acceptable since we
never preparse extension scripts (because we don't allow lazy functions
anyway).
BUG=v8:1097
Review URL: http://codereview.chromium.org/
7206020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 20 Jun 2011 10:19:00 +0000 (10:19 +0000)]
Crankshaft support for polymorphic array handling
Review URL: http://codereview.chromium.org/
7170012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 20 Jun 2011 09:30:54 +0000 (09:30 +0000)]
Prepare push to trunk. Now working on version 3.4.6.
Review URL: http://codereview.chromium.org/
7212007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Mon, 20 Jun 2011 07:40:42 +0000 (07:40 +0000)]
Generalized Stephen's patch from codereview.chromium.org/
7044100/ and
added a few test cases.
Review URL: http://codereview.chromium.org/
7212006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 17 Jun 2011 18:32:36 +0000 (18:32 +0000)]
Cleanup: use JumpIf[Not]Smi() whenever we can
Review URL: http://codereview.chromium.org/
7191007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 17 Jun 2011 10:45:29 +0000 (10:45 +0000)]
Fix wrong parenthesis in stub ARM and MIPS generation code.
I think the problem did not manifest as a bug, since the only
consequence was to generate extra code to return heap number
results in case of the INT32-stub.
Review URL: http://codereview.chromium.org/
7192006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 17 Jun 2011 08:40:30 +0000 (08:40 +0000)]
Fix issue 1417: check for script source availability when enumerating optimized functions.
R=kasperl@chromium.org,kmillikin@chromium.org
BUG=1417
TEST=test-log/Issue23768
Review URL: http://codereview.chromium.org/
7184027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 17 Jun 2011 08:20:27 +0000 (08:20 +0000)]
Fix mozilla test-expectatations to match the new behavior of multi-line comments.
Review URL: http://codereview.chromium.org/
7189030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 17 Jun 2011 08:01:12 +0000 (08:01 +0000)]
Refix issue 1472. The previous fix worked for the example in the bug
report, but was not general enough to catch all cases. This is a new
approach. Includes regression test!
Review URL: http://codereview.chromium.org/
7193007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 17 Jun 2011 07:23:07 +0000 (07:23 +0000)]
Make line-terminators inside multi-line comments count.
Now follows the specification. Follows WebKit change in revision 89100.
BUG=86431
TEST=regress-892742
Review URL: http://codereview.chromium.org/
7184034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 16 Jun 2011 15:18:48 +0000 (15:18 +0000)]
Add missing assert to Label destructor.
Review URL: http://codereview.chromium.org/
7172026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Thu, 16 Jun 2011 14:12:58 +0000 (14:12 +0000)]
Merge arguments branch to bleeding edge (second try).
Review URL: http://codereview.chromium.org/
7187007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 16 Jun 2011 08:35:26 +0000 (08:35 +0000)]
Reinitialize the arguments object in d8 when renewing the evaluation context (fixes issue 1477).
Review URL: http://codereview.chromium.org/
7189007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 16 Jun 2011 07:58:47 +0000 (07:58 +0000)]
Fix building in release mode with disassembler=on
BUG=v8:1473
Review URL: http://codereview.chromium.org/
7147014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 16 Jun 2011 07:00:46 +0000 (07:00 +0000)]
ARM: Clean up literal pool generation.
Remove dead code, and generate pools less frequently.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
7108061
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Thu, 16 Jun 2011 06:37:49 +0000 (06:37 +0000)]
Revert "Merge arguments branch to bleeding merge."
This reverts commit
ceb31498b9d69edca3260820fb4047045891ce6d.
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/
7172030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 15 Jun 2011 20:15:40 +0000 (20:15 +0000)]
Avoid OOM on regexps with nested quantifiers.
http://code.google.com/p/v8/issues/detail?id=1472
Review URL: http://codereview.chromium.org/
7170014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 15 Jun 2011 19:57:39 +0000 (19:57 +0000)]
Add missing branches in code generated for LModI with power-of-2 divisor.
BUG=v8:1476
TEST=test/mjsunit/regress/regress-1476.js
Review URL: http://codereview.chromium.org/
7097015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Wed, 15 Jun 2011 15:09:28 +0000 (15:09 +0000)]
Merge arguments branch to bleeding merge.
Review URL: http://codereview.chromium.org/
7167006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8300
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 13:54:40 +0000 (13:54 +0000)]
Make name and message non-enumerable on Error object (this is a partial fix for issue 1215)
Review URL: http://codereview.chromium.org/
7172011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 15 Jun 2011 13:33:10 +0000 (13:33 +0000)]
Add a number of old tests to the mjsunit test suite.
R=kasperl@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7171016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 11:41:03 +0000 (11:41 +0000)]
Change DefineOrRedefineDataProperty to use local lookup (fix issue 1435).
This prevents us from normalizing when we do not need to.
Review URL: http://codereview.chromium.org/
7168012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 10:47:37 +0000 (10:47 +0000)]
Ensure that bound functions does not have a prototype (fixes issue 794)
Review URL: http://codereview.chromium.org/
7148014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 15 Jun 2011 10:07:10 +0000 (10:07 +0000)]
MIPS: port First steps towards better code generation for LBranch.
Ported r8274 (
03e42c0)
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7170006
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 15 Jun 2011 09:58:04 +0000 (09:58 +0000)]
Prepare push to trunk.
Review URL: http://codereview.chromium.org/
7171015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 15 Jun 2011 09:20:24 +0000 (09:20 +0000)]
Generate better branch code for instanceof-predicates.
Review URL: http://codereview.chromium.org/
7168013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Wed, 15 Jun 2011 09:17:54 +0000 (09:17 +0000)]
Update an outdated comment in the CEntryStub on ARM.
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/
7134106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 15 Jun 2011 06:51:22 +0000 (06:51 +0000)]
Remove unused methods.
Do not force set DEBUG.
R=kasperl@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7171014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 06:44:57 +0000 (06:44 +0000)]
Correctly set ReadOnly flag on indexed properties when using the API Set method (fixes issue 1470)
Review URL: http://codereview.chromium.org/
7149015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 14 Jun 2011 19:26:09 +0000 (19:26 +0000)]
Fix invalid assertion.
Runtime_DeclareContextSlot is used to declare global variables.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7158001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 14 Jun 2011 15:00:57 +0000 (15:00 +0000)]
Guard an unsafe cast of a catch context's extension object.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7149019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 14 Jun 2011 13:21:24 +0000 (13:21 +0000)]
Distinguish keyed loads with a symbol key from fast elements loads.
This change fixes the deoptimization when a keyed load is used with
a symbol key. Before we would wrongly generate a fast elements load.
Now we generate a generic keyed load instead.
BUG=1471
Review URL: http://codereview.chromium.org/
7150010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 14 Jun 2011 12:48:25 +0000 (12:48 +0000)]
Make valgrind happy with SparseSet.
R=ager@chromium.org
BUG=crbug.com/83626
Review URL: http://codereview.chromium.org/
7111047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 14 Jun 2011 12:16:23 +0000 (12:16 +0000)]
Change the representation of catch contexts.
Before, they had no extra slots and an extension object with one named
property. Now, they use the extension slot for the property name and have
an extra slot for the thrown object. This increases the size of the context
itself, but removes overall allocation and eliminates a level of indirection.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/
7152002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 14 Jun 2011 11:28:14 +0000 (11:28 +0000)]
Geve correct error message when Object.isExtensible is called on a non object (fixes issue 1452)
Review URL: http://codereview.chromium.org/
7146010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 14 Jun 2011 09:15:25 +0000 (09:15 +0000)]
First steps towards better code generation for LBranch:
* AST Expression nodes get a separate testing ID to record type info in
ToBooleanStub later. This is necessary to avoid clashes with other uses of
already existing IDs.
* In order to avoid threading the condition expression through tons of places,
TestContexts carry it now with them. Note that we will probably only need the
testing ID of the expression, but having the whole thing at hand makes
debugging easier. Probably we will change this later...
Review URL: http://codereview.chromium.org/
7046073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 14 Jun 2011 09:10:39 +0000 (09:10 +0000)]
Always print the deoptimization data when disassembling the generated code
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
7003093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 14 Jun 2011 06:37:56 +0000 (06:37 +0000)]
MIPS: port Refactor platform-specific code for determining shared stub for keyed load/stores.
Ported r8253 (
9d8e6ab).
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7003141
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 13:43:48 +0000 (13:43 +0000)]
Skip test-debug/DebuggerAgent on ARM. Issue 945.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:43 +0000 (12:41 +0000)]
added explicit attributes since constructors have only one argument now.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:35 +0000 (12:41 +0000)]
removed isolates from d8 since they are not necessary anymore
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:26 +0000 (12:41 +0000)]
corrected parts in d8 that accesses the new "deisolated" Thread in platform.h
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 10 Jun 2011 12:33:55 +0000 (12:33 +0000)]
Add GetOwnPropertyNames method for Object in the API
Patch by Peter Varga.
BUG=none
TEST=cctest/test-api/PropertyEnumeration
Review URL: http://codereview.chromium.org/
7129058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 10 Jun 2011 12:15:30 +0000 (12:15 +0000)]
Added two convenience methods to access an int/double argument from within a
runtime function and use these in various places.
Review URL: http://codereview.chromium.org/
7003114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 10 Jun 2011 12:09:48 +0000 (12:09 +0000)]
Add support for hydrogen control instructions with >2 successor blocks.
This change makes the number of successors of a control instruction
configurable with a template parameter and changes the existing instructions
to use it.
To iterate over all successors I added an iterator instead of always calling
First- and SecondSuccessor.
Review URL: http://codereview.chromium.org/
7114004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:54:04 +0000 (09:54 +0000)]
"Deiceolate" Thread classes.
Thread class was receiving an isolate parameter by default.
This approact violates the assumption that only VM threads
can have an associated isolate, and can lead to troubles,
because accessing the same isolate from different threads
leads to race conditions.
This was found by investigating mysterious failures of the
CPU profiler layout test on Linux Chromium. As almost all
threads were associated with some isolate, the sampler was
trying to sample them.
As a side effect, we have also fixed the DebuggerAgent test.
Thanks to Vitaly for help in fixing isolates handling!
R=vitalyr@chromium.org
BUG=none
TEST=none
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 10 Jun 2011 09:45:02 +0000 (09:45 +0000)]
Fix issue 1447 by not redefining properties unneccesarily in seal and freeze.
This avoids attempting to redefine function.arguments with a different
value than the current one. function.arguments returns a new copy on
each invocation.
R=lrn@chromium.org
BUG=v8:1447
TEST=mjsunit/regress/regress-1447.js
Review URL: http://codereview.chromium.org/
7044104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:42:08 +0000 (09:42 +0000)]
Revert accidental r8254..r8256
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:36:35 +0000 (09:36 +0000)]
trying to fix test
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:36:18 +0000 (09:36 +0000)]
tests compile but crash
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:35:31 +0000 (09:35 +0000)]
remove isolate reference from threads
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 10 Jun 2011 07:49:49 +0000 (07:49 +0000)]
Refactor platform-specific code for determining shared stub for keyed load/stores.
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7044083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 10 Jun 2011 07:15:46 +0000 (07:15 +0000)]
Remove the flag --debug-info
This flag has not bees set to false for years, and even when building without debugging support the position information is required for stack traces.
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
7046078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 10 Jun 2011 07:14:34 +0000 (07:14 +0000)]
MIPS: port Dispatch on ElementsKind rather than ExternalArrayType ...
Port r8244 (
c90151c)
Orig commit msg:
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs
and Crankshaft code for many element operations. This is preparation to be
able to share more code in the various element accessor implementations.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7134064
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 10 Jun 2011 07:13:07 +0000 (07:13 +0000)]
MIPS: port Link function contexts directly to the previous context.
Ported r8238 (
7803ed7)
This commit would have also included changes to macro-assembler-mips.cc,
however Kevin M. did those changes in later commit r8248. (thx!)
BUG=
TEST=
Committed: http://code.google.com/p/v8/source/detail?r=8249
Review URL: http://codereview.chromium.org//
6995128
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 10 Jun 2011 07:09:14 +0000 (07:09 +0000)]
MIPS: port Link function contexts directly to the previous context.
Ported r8238 (
7803ed7)
This commit would have also included changes to macro-assembler-mips.cc,
however Kevin M. did those changes in later commit r8248. (thx!)
BUG=
TEST=
Review URL: http://codereview.chromium.org//
6995128
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 9 Jun 2011 17:44:50 +0000 (17:44 +0000)]
Use the previous context link when checking context extension objects.
In generated code, when walking the context to inspect context extension
objects, use the previous context link directly.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7044081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 9 Jun 2011 16:20:41 +0000 (16:20 +0000)]
Fix bogus unreachable in debug code.
BUG=none
TEST=none
TBR=jkummerow@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 9 Jun 2011 15:51:08 +0000 (15:51 +0000)]
GYP: Generate makefiles for all architectures on Linux
On Linux running gyp_v8 will generate makefiles for all architectures. On other platforms generate for ia32 only as that is what is currently supported.
The output (out) directory is still shared.
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
7104083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 9 Jun 2011 15:49:21 +0000 (15:49 +0000)]
Simplify the check when to perform loop invariant code motion.
Allow HChange instructions to be hoisted out of loops. To avoid
unnecessary code motion we don't hoist instructions from blocks that
have been marked containing an unconditional deoptimization.
Review URL: http://codereview.chromium.org/
7003087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 9 Jun 2011 15:19:37 +0000 (15:19 +0000)]
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs and Crankshaft code for many element operations. This is preparation to be able to share more code in the various element accessor implementations.
Merge logic to maintain external array and fast element stub caches.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7112010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 9 Jun 2011 15:07:45 +0000 (15:07 +0000)]
fixed style mistake found in presubmit.py
Review URL: http://codereview.chromium.org/
6995110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 9 Jun 2011 14:52:58 +0000 (14:52 +0000)]
Correct the limit of local variables in a optimized functions.
The encoding constraint is that we have 128 values. We use [-64,0] for
parameters and [0,63] for locals. However, for locals we restricted to
64 and not 63.
R=kmillikin@chromium.org
TEST=mjsunit/compiler/regress-max-locals-for-osr.js
Review URL: http://codereview.chromium.org/
6995108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 9 Jun 2011 14:28:49 +0000 (14:28 +0000)]
added --stress-opt option to d8
Review URL: http://codereview.chromium.org/
7134040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 9 Jun 2011 13:26:18 +0000 (13:26 +0000)]
Moved non-architecture-specific GetFooCodeStub functions to ic.cc, removing
duplicate code and the need for 2 free-floating function prototypes.
Review URL: http://codereview.chromium.org/
7134043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 9 Jun 2011 12:48:11 +0000 (12:48 +0000)]
GYP: Make the ARM simulator build with GYP again
Updated the armu.gypi to set values for variables which does not have a default. These variables was recently added to v8.gyp.
Moved the what will be shared between building the v8 library and the cctests to a separate include file. For now this file is currently only used by cctest.gyp. the reason is that the cctests are not just using the API but also internal functions so the C++ defines and optons needs to be the same when compiling the cctests files as when compiling the v8 library files.
R=jkummerow@chromium.org
Review URL: http://codereview.chromium.org/
7134039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8239
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 9 Jun 2011 12:45:26 +0000 (12:45 +0000)]
Link function contexts directly to the previous context.
Instead of NULL in the previous field of function contexts, put the previous
context. This saves the indirection of fetching the previous through the
context's closure.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7134042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 9 Jun 2011 12:27:28 +0000 (12:27 +0000)]
Add boolean flag to HChange and LNumberUntagD to not convert undefined to NaN.
This is needed so that HCompare, optimized for double inputs, works correctly on undefined inputs.
BUG=v8:1434
TEST=mjsunit/bugs/bug-1434.js
Review URL: http://codereview.chromium.org/
7044049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 9 Jun 2011 11:40:22 +0000 (11:40 +0000)]
Update the blacklist in fuzz-natives.
Runtime functions were renamed in r8231.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7129040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 9 Jun 2011 11:26:01 +0000 (11:26 +0000)]
A collection of context-related refactoring changes.
Introduce separate maps for function and with contexts. Use the function
context map for testing whether a context is a function context (global
contexts are no longer function contexts).
Split the paths for allocating with and catch contexts.
Rename some functions. Generally refactor code to make it simpler.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7003058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 9 Jun 2011 11:15:03 +0000 (11:15 +0000)]
Fix bug with GVN on array loads.
This fixes a bug where an array load was incorrectly hoisted by GVN.
BUG=85177
TEST=mjsunit/regress/regress-85177.js
Review URL: http://codereview.chromium.org/
7003054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 9 Jun 2011 10:03:35 +0000 (10:03 +0000)]
Implement core support for FixedDoubleArrays.
Under a flag without IC or Crankshaft support.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7089002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 9 Jun 2011 09:07:17 +0000 (09:07 +0000)]
Add support for building Xcode project files from GYP files
Removed the current Xcode project file.
Fixed a few places where the C++ compiler supplied with Xcode produced warnings.
Review URL: http://codereview.chromium.org/
7134016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 9 Jun 2011 09:05:15 +0000 (09:05 +0000)]
Fix Array.prototype.{reduce,reduceRight} to pass undefined as receiver for strict mode callbacks.
Propagate strict mode information from pre-parser to parser for lazily compiled functions.
R=lrn@chromium.org
BUG=v8:1436
TEST=mjsunit/regress/regress-1436.js
Review URL: http://codereview.chromium.org/
7044054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 9 Jun 2011 07:06:15 +0000 (07:06 +0000)]
MIPS: port Stop using with explicitly to implement try/catch.
Port r8224 (
bdec5d6)
Original commit message:
The AST for TryCatch gives us enough structure that we do not need to expand
it to explicitly include a with. Try/catch is still handled the same as
before at runtime.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7134037
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 8 Jun 2011 14:11:29 +0000 (14:11 +0000)]
Fix lint error. TBR.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7046046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 8 Jun 2011 13:55:33 +0000 (13:55 +0000)]
Stop using with explicitly to implement try/catch.
The AST for TryCatch gives us enough structure that we do not need to expand
it to explicitly include a with. Try/catch is still handled the same as
before at runtime.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7134014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 8 Jun 2011 12:22:06 +0000 (12:22 +0000)]
Remove unused function form hydrogen instructions.
Review URL: http://codereview.chromium.org/
7044045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 8 Jun 2011 10:51:51 +0000 (10:51 +0000)]
Cleanup unused lithium instructions.
Instructions that have side effects can never have EmitAtUses() true.
These instructions (CmpTAndBranch, InstanceOfAndBranch) are therefore
never generated and can therefor be safely removed.
Review URL: http://codereview.chromium.org/
7031074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 8 Jun 2011 09:00:25 +0000 (09:00 +0000)]
Add snapshot compression support into d8.
I'm not bothering with compressing d8.js, since it makes no sense,
but it is also possible.
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/
7046027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 8 Jun 2011 08:58:59 +0000 (08:58 +0000)]
Prepare push to trunk. Now working on version 3.4.4.
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/
7046042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 8 Jun 2011 08:13:31 +0000 (08:13 +0000)]
Fix bug in Object.defineProperty where a growing lements dictionary was ignored.
TEST=mjsunit/object-define-property
Review URL: http://codereview.chromium.org/
7129017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Wed, 8 Jun 2011 08:09:48 +0000 (08:09 +0000)]
Specialize JSON parser to only check for SequentialAsciiString once.
Review URL: http://codereview.chromium.org/
7134010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 8 Jun 2011 07:45:37 +0000 (07:45 +0000)]
Add failing test case for bug 1434
BUG=1434
TEST=test/mjsunit/bugs/bug-1434.js
Review URL: http://codereview.chromium.org/
7131006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 8 Jun 2011 07:28:31 +0000 (07:28 +0000)]
Revert 8133: Lower heap size limits on systems that are short
of virtual memory.
Review URL: http://codereview.chromium.org/
7041004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 7 Jun 2011 18:33:03 +0000 (18:33 +0000)]
Fix bug 1433: clear the global thread table when an isolate is disposed.
R=ager@chromium.org
BUG=v8:1433
TEST=test-lockers/Regress1433
Review URL: http://codereview.chromium.org/
7129002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 7 Jun 2011 15:01:52 +0000 (15:01 +0000)]
Reduce TLS overhead in v8::TryCatch.
R=vegorov@chromium.org
BUG=v8:1426
Review URL: http://codereview.chromium.org/
6982059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 7 Jun 2011 13:09:01 +0000 (13:09 +0000)]
Clean up a few TODO(isolates).
R=ager@chromium.org
Review URL: http://codereview.chromium.org/
6993061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 7 Jun 2011 11:53:49 +0000 (11:53 +0000)]
Convert time zone name to UTF8 on Windows.
R=sgjesse@chromium.org
BUG=v8:1290
Review URL: http://codereview.chromium.org/
7125008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 7 Jun 2011 08:15:47 +0000 (08:15 +0000)]
Limit the number of arguments in a function call to 32766.
Limit the number of arguments in a function call to 32766. This is identical
to the limit on the number of parameters to a function.
BUG=v8:1413
TEST=
Review URL: http://codereview.chromium.org/
7054074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 7 Jun 2011 07:17:46 +0000 (07:17 +0000)]
Fix presubmit errors catched by a more recent version of cpplint.py.
Mainly, there were errors concerning blank lines before and after class access
control sections [whitespace/blank_line].
BEFORE an access control section (e.g. public:, private:) there should be a
blank line (except for the section right after the class declaration).
AFTER an access control section there should be no blank line.
TBR=ager@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 7 Jun 2011 05:10:27 +0000 (05:10 +0000)]
Fix typo: RetainedSizeCalculator::reained_size -> retained_size
TBR=sgjesse@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 6 Jun 2011 20:58:25 +0000 (20:58 +0000)]
Fix presubmit after r8189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 6 Jun 2011 20:47:30 +0000 (20:47 +0000)]
Compress sources of JS libraries in addition to the snapshot.
This saves ~170K on current sources.
R=sgjesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7066048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 6 Jun 2011 16:18:59 +0000 (16:18 +0000)]
Update comments in the global handles interface.
(I also reordered functions in the .cc file to match the order in the
.h file.)
R=antonm@chromium.org
Review URL: http://codereview.chromium.org/
7056068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 6 Jun 2011 15:43:08 +0000 (15:43 +0000)]
Kill some dead code: classic frame element and const lists.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/
7111034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 6 Jun 2011 15:23:04 +0000 (15:23 +0000)]
Refactor storage of global handles.
We used to have a linked list of nodes that were internally
block-allocated.
I kept the node blocks and put them on two lists: 1) the list of all
allocated blocks, 2) the list of blocks with used nodes. (1) is used
to reclaim blocks and (2) is used for traversal during GC. To make
traversal on scavenges faster the nodes holding new space objects are
grouped in an auxiliary array.
This changes the minimal memory usage from 5 words per global handle
to 4. Additional word is used for new space handles.
Review URL: http://codereview.chromium.org/
7054072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8186
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 6 Jun 2011 14:57:25 +0000 (14:57 +0000)]
Re-land r8140: Deoptimize on never-executed code-paths.
Original cl: http://codereview.chromium.org/
7105015
I'm removing the test GlobalLoadICGC test that was introduced for testing
inlined global cell loads (in the classic backend) and has an invalid assumption
about the number of global objects referenced from a v8 context. We don't have
this feature with Crankshaft anymore.
Review URL: http://codereview.chromium.org/
7112032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 6 Jun 2011 13:28:44 +0000 (13:28 +0000)]
Don't use SmartSlice just because the receiver is an array.
Only do so if the estimated number of elements is low compared to the
end position for the slice. This is similar to other heuristics used
for array operations that use the %GetElementKeys runtime function.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
7111032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 6 Jun 2011 13:15:11 +0000 (13:15 +0000)]
Per-Isolate cache for polymorphic stubs
BUG=1385
TEST=Existing tests still pass; running d8 with --dump-counters shows fewer polymorphic stubs being compiled
Review URL: http://codereview.chromium.org/
7094003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8183
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00