svenpanne@chromium.org [Wed, 22 Jun 2011 08:28:35 +0000 (08:28 +0000)]
Make ToBooleanStub more consistent across platforms.
The declaration of the ToBoolean class moved to the platform-independent part
and its implementations are now structurally very similar. This is just an
intermediate cleanup step to add type recording at the call site.
Note that the MIPS implementation has not really been touched, so it should
continue to work, too.
Review URL: http://codereview.chromium.org/
7218012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8359
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Jun 2011 07:48:32 +0000 (07:48 +0000)]
MIPS: Fix arguments-branch update per review comments.
This is a follow-on to r8340, http://codereview.chromium.org/
7216004/
Søren had commited changes and closed issue, as Karl was commenting about
problems in the code.
Thanks Karl, for your detailed code review. I have corrected the issues
you raised.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7232004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Jun 2011 06:24:34 +0000 (06:24 +0000)]
ARM: Fix context save/restore for VFP registers.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
7217011
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8357
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 22 Jun 2011 05:53:40 +0000 (05:53 +0000)]
Allow compiling v8_shell with the 'host' toolset.
BUG=82437
TEST=Compile browser_tests for Arm against http://codereview.chromium.org/
7087014/
Review URL: http://codereview.chromium.org/
7212014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8356
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Tue, 21 Jun 2011 19:42:35 +0000 (19:42 +0000)]
Issue 1418: Debug: extends setBreakpoint API to accept partial script name as a parameter
Review URL: http://codereview.chromium.org/
7200024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8355
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 21 Jun 2011 13:57:03 +0000 (13:57 +0000)]
[x64] Fix disassembly of movmskpd instruction.
The destination is a GP register, not an XMM register. ia32 did not
have this problem.
BUG=
TEST=Check --print_code output for code that tests for -0.0.
Review URL: http://codereview.chromium.org/
7191015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 21 Jun 2011 13:34:16 +0000 (13:34 +0000)]
Make multi-line comments not count when checking whether --> is first on a line.
A multi-line comment containing a newline is considered a line-terminator for
other purposes, but a "-->" following such a comment is considered as being
on the same line as the text preceeding the multi-line comment.
This behavior matches JSC matching Firefox.
TEST=cctest/test-parsing/ScanHTMLEndComments
Review URL: http://codereview.chromium.org/
7218009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 21 Jun 2011 11:18:15 +0000 (11:18 +0000)]
Remove redundant hydrogen- and lithium instruction for symbol comparison.
We had two instructions HCompareJsObjectEq and HCompareSymbolEq that behave
exactly the same. I removed one and renamed the remaining instruction into
HCompareObjectEq.
Review URL: http://codereview.chromium.org/
7206040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8349
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Tue, 21 Jun 2011 09:27:38 +0000 (09:27 +0000)]
Fix wrong bounds check on arguments object.
TEST=added to test/mjsunit/arguments.js
Review URL: http://codereview.chromium.org/
7217005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 21 Jun 2011 08:07:45 +0000 (08:07 +0000)]
Correctly handle non-array receivers in Array length setter.
BUG=v8:1491
TEST=mjsunit/regress/regress-1491.js
Review URL: http://codereview.chromium.org/
7206038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 21 Jun 2011 08:02:34 +0000 (08:02 +0000)]
Heap profiler: add an ability to iterate over snapshot's nodes.
This is a preparation for removing aggregated heap snapshots.
W/o this API, counting object instances in a snapshot is very hard.
R=sgjesse@chromium.org
BUG=1481
TEST=cctest/test-heap-profiler/NodesIteration
Review URL: http://codereview.chromium.org/
7204040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 21 Jun 2011 07:52:19 +0000 (07:52 +0000)]
Use issue number instead of username for TODO comment
Review URL: http://codereview.chromium.org/
7216007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 21 Jun 2011 07:47:26 +0000 (07:47 +0000)]
MIPS: port Merge arguments branch to bleeding edge (second try).
Ported r8315 (
d70d395).
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7216004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 21 Jun 2011 07:34:01 +0000 (07:34 +0000)]
MIPS: Port some DIV changes to BinaryOpStub::GenerateInt32Stub().
There were some changes in ARM r8172 that we needed to port to MIPS,
but missed.
The bug was exposed with the Arm & Mips fix in r8321, "Fix wrong
parenthesis in stub ARM and MIPS generation code."
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7211006
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 21 Jun 2011 07:32:23 +0000 (07:32 +0000)]
MIPS: Update an outdated comment in the CEntryStub.
Following r8289 (
bf0c0cf).
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7211007
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 20 Jun 2011 15:11:04 +0000 (15:11 +0000)]
Prepare push to trunk. Now working on V8 version 3.4.6. Revision 8324, which also claims this, has been superseded by this one.
Review URL: http://codereview.chromium.org/
7210016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 20 Jun 2011 14:14:33 +0000 (14:14 +0000)]
Restore accidentally deleted src/extensions/experimental/i18n.js
Review URL: http://codereview.chromium.org/
7205030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 20 Jun 2011 13:13:28 +0000 (13:13 +0000)]
Use the correct soname when linking together the preparser shared lib.
[I've accidentally lost my gcl_info directory and I see no way to commit the old CL, so I simply deleted the old CL opened a new one. :-P ]
Review URL: http://codereview.chromium.org/
7210012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 20 Jun 2011 12:45:09 +0000 (12:45 +0000)]
Fix DoHasInstanceType on ARM
Was broken by the recent JumpIfSmi() cleanup.
TEST=es5conform
Review URL: http://codereview.chromium.org/
7206023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 20 Jun 2011 12:33:08 +0000 (12:33 +0000)]
Refactor the way we collect the information for associating type-related infos
with AST IDs. Previously 3 different places had to match in how they handle a
given case, now we are down to 2, with an even simpler logic.
The downside is that due to this simpler logic the allocated dictionary could be
larger than before, but test have shown that this happens *very* rarely, because
its capacity is rounded to the next power of 2, anyway. Furthermore, the oracle
doesn't live long enough that we should really care.
The whole oracle is probably still a bit too tricky in its details, but this is
at least a step into the right direction.
Review URL: http://codereview.chromium.org/
7204003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 20 Jun 2011 12:29:03 +0000 (12:29 +0000)]
Include the loop header block when eliminating stack checks
In simple unconditional loops - like the following - the hydrogen stack check elimination did not detect the call as the loop header block itself was not considered.
function f(o) {
while(true) {
o.a();
}
}
R=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
7210010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 20 Jun 2011 12:20:30 +0000 (12:20 +0000)]
Do not automatically pretenure global closures in runtime.cc
unless the caller has indicated that pretenuring is desirable.
This is intended to fix http://jsperf.com/scope-lookups/3
Review URL: http://codereview.chromium.org/
7210011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 20 Jun 2011 11:52:24 +0000 (11:52 +0000)]
Made parser not accept unicode escapes inside "native" when used as a keyword.
This is a regression relative to the original behavior, when "native" was a keyword,
since keywords cannot contain esacpes.
Added tests for escapes and for not allowing line-terminators betwen "native" and "function".
Review URL: http://codereview.chromium.org/
7206022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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