danno@chromium.org [Tue, 13 Sep 2011 12:12:25 +0000 (12:12 +0000)]
MIPS: pre-crankshaft updates to assembler and related files. (1/3)
Highlights:
- assembler.h adds FPU definitions used for Crankshaft.
- Support optimization of mips call: jalr->jal
- includes changes to set_target_address_at(), support routines.
- Add 2nd use of Apply() to update target addresses.
- Minor debugging improvement in simulator.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7888003
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 13 Sep 2011 11:42:57 +0000 (11:42 +0000)]
Implement function proxies (except for their use as constructors).
Introduce new %Apply native.
Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).
Fix Function.prototype.bind for functions that have .apply modified.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
7623011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 13 Sep 2011 10:29:11 +0000 (10:29 +0000)]
Fix presubmit.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/
7888008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Sep 2011 10:08:45 +0000 (10:08 +0000)]
push-to-trunk.sh: correctly detect existing branches, git-rm deleted files
Review URL: http://codereview.chromium.org/
7886004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 13 Sep 2011 09:45:10 +0000 (09:45 +0000)]
Fix parent of the WeakMap prototype.
R=rossberg@chromium.org
BUG=v8:1565
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/
7890003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 13 Sep 2011 09:31:41 +0000 (09:31 +0000)]
Fix some valgrind errors in d8 shell.
This fixes 3 possibly lost warnings occurring when running unit tests under d8:
28 bytes in 1 blocks are possibly lost in loss record 40 of 68
at 0x67FB8DB: operator new[](unsigned int)
by 0x83865CC: v8::Shell::SetOptions(int, char**) (d8.cc:1200)
by 0x83869A5: v8::Shell::Main(int, char**) (d8.cc:1276)
by 0x8386B31: main (d8.cc:1333)
Review URL: http://codereview.chromium.org/
7780032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 13 Sep 2011 08:31:21 +0000 (08:31 +0000)]
Support for precise stepping in functions compiled before debugging was started (step 1)
This change will ensure that all non-optimized code will be compiled
with debug break slots when debugging is initiated. This is handled by
scanning the heap for non-optimized functions without debug break slots and setting their code to be lazy recomplied. When the lazy recompilation happens the code will ge generated with debug break slots (if debugging is still active at that point in time).
R=svenpanne@chromium.org
Currently this is only implemented for functions which do not have activations on the stack.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7839030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 13 Sep 2011 08:06:55 +0000 (08:06 +0000)]
Prepare push to trunk. Now working on version 3.6.4.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7892002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 13 Sep 2011 07:51:22 +0000 (07:51 +0000)]
Revert "Clean up Context::Lookup and its uses."
This reverts commit 9241. This change shows failures on Mac and Win
for the threading tests. Reverting while I investigate.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7886002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Sep 2011 14:00:16 +0000 (14:00 +0000)]
Improved pretty printing of VAR PROXY and some control flow AST nodes.
Review URL: http://codereview.chromium.org/
7866041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Sep 2011 13:36:43 +0000 (13:36 +0000)]
d8 external array c'tors: fix double-to-uint32 semantics
TEST=mjsunit/external-array
Review URL: http://codereview.chromium.org/
7866040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Sep 2011 12:42:05 +0000 (12:42 +0000)]
d8 external array c'tors: allow parameters that can be converted to numbers
BUG=v8:1681
TEST=d8 accepts: var a = new Int32Array("2");
Review URL: http://codereview.chromium.org/
7867036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 12:16:30 +0000 (12:16 +0000)]
Add an explicit cast for an integral promotion that MSVC warns about.
I don't think the warning is valid, but it's a good sign that MSVC is
fixin' to generate the wrong code no matter what I think.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7869008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 12:13:00 +0000 (12:13 +0000)]
Reapply "Clean up Context::Lookup and its uses."
With a fix for a context lookup bug in the original change.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7862032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 10:50:50 +0000 (10:50 +0000)]
Use the BitField class for Code::Flags.
Use the BitField helper class for the code flags, so that we do not have to
define both a shift and a mask explicitly. This makes changing the flags
layout simpler.
Also, make the 'mask' and 'max' members of BitField into constants, because
they are constant and so that they can be used as constant expressions.
E.g., so they can be used in declaring other const members or in static
asserts.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7787028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:50:40 +0000 (10:50 +0000)]
Revert accidental r9229 and r9230
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:42:25 +0000 (10:42 +0000)]
add test
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:42:15 +0000 (10:42 +0000)]
do not use code deletions
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 12 Sep 2011 10:24:18 +0000 (10:24 +0000)]
Fix the include guard from circular-queue-inl.h
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/
7864028
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Sep 2011 09:59:59 +0000 (09:59 +0000)]
Update python version in build/README.txt to what's used by Chromium
Review URL: http://codereview.chromium.org/
7867034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Sep 2011 09:57:11 +0000 (09:57 +0000)]
Improved printing of Goto and CompareIDAndBranch instructions.
Review URL: http://codereview.chromium.org/
7862031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Sep 2011 09:24:18 +0000 (09:24 +0000)]
Refactored HInferRepresenation::TryChange a bit, making the heuristics a bit clearer.
Removed an unneeded check for phis: There are never HValues in the work list
which are not convertible to integer and are not a phi. (But even if they were,
ignoring IsConvertibleToInteger() then looks like the wrong thing to do.)
Review URL: http://codereview.chromium.org/
7857033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 09:17:26 +0000 (09:17 +0000)]
Revert "Clean up Context::Lookup and its uses."
This reverts commit 9223, due to test failures.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7865023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 12 Sep 2011 08:57:09 +0000 (08:57 +0000)]
Clean up Context::Lookup and its uses.
Refactor Context::Lookup so it is more obvious. Change the comment in
contexts.h so it no longer indicates that it can return an arguments
object (it can't) and clean up the call sites that had leftover dead code.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7782030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 12 Sep 2011 07:49:01 +0000 (07:49 +0000)]
Move the implementation of Scanner::LiteralScope to scanner.cc
It seems more appropriate as LiteralScope is declared in scanner.h
R=lrn@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7864024
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 9 Sep 2011 22:39:47 +0000 (22:39 +0000)]
Rename SmartPointer to SmartArrayPointer.
As pointed out in: http://codereview.chromium.org/
7754007/#msg5
"SmartPointer should have been named SmartArrayPointer as it expects an input
allocated using new[] and deallocates it using delete[]. Using it as a simple
scoped pointer for a single object is incorrect."
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/
7860011
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Sep 2011 14:47:37 +0000 (14:47 +0000)]
Key external array map transitions on ElementsKind instead of ExternalArrayType
R=jkummrow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7787007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Sep 2011 14:30:00 +0000 (14:30 +0000)]
Don't allow seal or element property re-definition on external arrays.
R=ricow@chromium.org
BUG=95920
TEST=test/mjsunit/regress/regress-95920.js
Review URL: http://codereview.chromium.org/
7858031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Sep 2011 13:12:52 +0000 (13:12 +0000)]
Re-use phi reachability information to avoid a fixed-point computation.
When we propagate the information that a value is not convertible to integer,
there is no need for a separate fixed-point computation, we can do things the
"Millikin way" (tm), folding as much computation as possible into a single pass:
;-) We already have the phi node reachability information, so we can easily
propagate this while doing the representation histogram computation.
Review URL: http://codereview.chromium.org/
7754010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Sep 2011 12:41:58 +0000 (12:41 +0000)]
Trigger OOM when zone is full.
Review URL: http://codereview.chromium.org/
7859030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Sep 2011 11:10:36 +0000 (11:10 +0000)]
Better error messages for d8's load() (execute from file).
BUG=v8:796
Review URL: http://codereview.chromium.org/
7754018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Sep 2011 09:35:57 +0000 (09:35 +0000)]
Mechanical refactor to move ElementsKind type out of JSObject.
R=svenpanne@chromium.org
BUG=none
TEST=all
Review URL: http://codereview.chromium.org/
7849017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 9 Sep 2011 09:17:57 +0000 (09:17 +0000)]
Add a function to compute loop nesting level to HBasicBlock.
Review URL: http://codereview.chromium.org/
7857031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 8 Sep 2011 23:43:36 +0000 (23:43 +0000)]
Follow up fixes for r9205: shared library build and thread deletion.
Review URL: http://codereview.chromium.org/
7787013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 8 Sep 2011 22:44:03 +0000 (22:44 +0000)]
Release memory of semaphores and thread pointers by using 'delete' instead of SmartPointer.
As pointed out in: http://codereview.chromium.org/
7754007/
SmartPointer expects an input allocated using new[] and deallocates it using delete[].
So using SmartPointer for deleting T* here is incorrect. Fix it now.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/
7846022
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Sep 2011 19:57:14 +0000 (19:57 +0000)]
Fix presubmit errors caused by updated depot tools
This is all blank line before/after linting errors.
Review URL: http://codereview.chromium.org/
7754022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 8 Sep 2011 16:29:57 +0000 (16:29 +0000)]
Use more style-guide-friendly names for some constants.
This is a renaming only change.
R=erik.corry@gmail.com
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7849020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Sep 2011 16:09:24 +0000 (16:09 +0000)]
Prepare push to trunk. Now working on version 3.6.3.
Review URL: http://codereview.chromium.org/
7849019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 8 Sep 2011 13:51:06 +0000 (13:51 +0000)]
Fix memory leak from d8 shell.
We were not disposing the semaphores and the thread used in SourceGroup.
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7754007/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 8 Sep 2011 13:44:11 +0000 (13:44 +0000)]
Fix bug in collector.
Small cleanups in preparser.
TEST=cctest/test-utils/SequenceCollectorRegression
Review URL: http://codereview.chromium.org/
7754014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 8 Sep 2011 13:20:49 +0000 (13:20 +0000)]
Add "soname_version" parameter to common.gypi, v8.gyp, Makefile
TEST=compile with component=shared_library and soname_version=1.2.3 and find "libv8-1.2.3.so" in the output.
Review URL: http://codereview.chromium.org/
7848017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9196
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 8 Sep 2011 13:06:44 +0000 (13:06 +0000)]
Rename scanner.* to scanner-character-streams.*. and scanner-base.* to scanner.*
R=lrn@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7739020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 8 Sep 2011 11:03:26 +0000 (11:03 +0000)]
Amends to r9181 and r9191.
Review URL: http://codereview.chromium.org/
7847019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9192
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 8 Sep 2011 09:49:52 +0000 (09:49 +0000)]
Fixing shared library build of d8.
Review URL: http://codereview.chromium.org/
7851013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 8 Sep 2011 09:24:32 +0000 (09:24 +0000)]
Fix missing setting of array to copy-on-write in
optimized string split.
Review URL: http://codereview.chromium.org/
7849012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 8 Sep 2011 08:59:14 +0000 (08:59 +0000)]
Remove ExitContextStatement.
All the constructs that used it are now properly bracketed in the AST and we
handle abrupt exits without try/finally. We can treat normal context exit
as occurring implicitly at the end of a body.
Review URL: http://codereview.chromium.org/
7837025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 8 Sep 2011 08:54:28 +0000 (08:54 +0000)]
Functions in d8 to turn the profiler on/off (enableProfiler() and disableProfiler()).
Review URL: http://codereview.chromium.org/
7851011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 8 Sep 2011 08:47:07 +0000 (08:47 +0000)]
MIPS: port Remove variable rewrites and the unneccesary Slot class.
Port r9162 (
2215df8).
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7847015
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 8 Sep 2011 08:46:31 +0000 (08:46 +0000)]
Introduce push-to-trunk.sh (for git users)
Review URL: http://codereview.chromium.org/
7835035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9186
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 8 Sep 2011 07:40:11 +0000 (07:40 +0000)]
Improved phi reachability computation a bit.
The use-def relation between phis is mainly "forwards" (i.e. from phis with
smaller IDs to ones with larger IDs), so the fixed point computation terminates
faster when iterate through the phis in a "backwards" manner. This is quite
visible in complex Mandreel-generated code, where a few hundred phis with
non-trivial use-def chains are generated.
Review URL: http://codereview.chromium.org/
7848012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Sep 2011 06:23:05 +0000 (06:23 +0000)]
Fix wrong assert from 9180
There is an optional parameter to the function, with default value being a null handle. We then check that this is a flat string.
Review URL: http://codereview.chromium.org/
7850011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 8 Sep 2011 06:06:13 +0000 (06:06 +0000)]
JSArray can go slow case during String.split. Guard against
that eventuality.
Review URL: http://codereview.chromium.org/
7840031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9183
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 7 Sep 2011 21:09:13 +0000 (21:09 +0000)]
Add *.so to .gitignore.
This is so we can ignore libv8_g.so and libv8preparser_g.so when running git status.
TEST=git status. You should not see the above libraries in the output.
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7839036/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9182
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Sep 2011 16:15:48 +0000 (16:15 +0000)]
Fixing presubmit error.
Review URL: http://codereview.chromium.org/
7839031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Sep 2011 15:17:57 +0000 (15:17 +0000)]
Faster non-regexp global string.replace.
BUG=v8:1662
Review URL: http://codereview.chromium.org/
7782028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Sep 2011 15:17:18 +0000 (15:17 +0000)]
Presubmit output to distinguish check phases.
Review URL: http://codereview.chromium.org/
7795050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 7 Sep 2011 13:48:29 +0000 (13:48 +0000)]
Add "dependencies" target to top-level Makefile
Review URL: http://codereview.chromium.org/
7739021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9178
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Sep 2011 13:44:42 +0000 (13:44 +0000)]
Fix 64 bit build on Windows.
Review URL: http://codereview.chromium.org/
7841035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Sep 2011 13:17:25 +0000 (13:17 +0000)]
Fix assert on Mozilla test after String split optimization.
Review URL: http://codereview.chromium.org/
7837026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Sep 2011 13:13:56 +0000 (13:13 +0000)]
Make one-character strings into symbols more agressively.
Review URL: http://codereview.chromium.org/
7840029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9175
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 7 Sep 2011 12:39:53 +0000 (12:39 +0000)]
Reintroduce duplicate identifier detection in preparser.
Duplicate identifier detection must be an early syntax error in strict code,
so errors in otherwise lazily compiled functions must be caught in the
preparser.
Originally introduced in r8541 and reverted in r8542.
Now really compiles on Windows.
Review URL: http://codereview.chromium.org/
7782023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 7 Sep 2011 12:37:07 +0000 (12:37 +0000)]
Prepare push to trunk. Now working on version 3.6.2.
R=lrn@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7841034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 7 Sep 2011 11:56:06 +0000 (11:56 +0000)]
Avoid size increase of snapshot.
The prototype of builtin functions is already unwritable, so we don't
have to make it so (the default map for functions changes after builtins
are initialized).
We no longer need to make the prototype non-extensible, since all properties
that are ever read by the bultins code has been added and frozen already.
Adding properties to the prototype, or changing its __proto__, cannot affect
code.
Removing these two pieces of initialization code reduces the snapshot size
by a few Kb.
Review URL: http://codereview.chromium.org/
7839028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Sep 2011 11:49:12 +0000 (11:49 +0000)]
Fix presubmit
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Sep 2011 11:28:48 +0000 (11:28 +0000)]
Optimize the common obfuscator pattern where ["foo","bar","baz"]
gets converted fo "foo,bar,baz".split(","). If the inputs are
symbols we cache the result and make the substrings into symbols.
Review URL: http://codereview.chromium.org/
7782025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 7 Sep 2011 11:11:36 +0000 (11:11 +0000)]
Fix presubmit failures.
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/
7837024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9163
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 7 Sep 2011 11:02:31 +0000 (11:02 +0000)]
Remove variable rewrites and the unneccesary Slot class.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7824038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 7 Sep 2011 09:34:47 +0000 (09:34 +0000)]
Nuked unused method declaration.
Review URL: http://codereview.chromium.org/
7841030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 7 Sep 2011 09:21:44 +0000 (09:21 +0000)]
Fix a bug in abrupt exit from with or catch inside finally.
When with or catch is nested inside finally, we were not properly restoring
the context in the stack for the finally code. Also, as a small
optimization, restore it from the handler block instead of iteratively
unwinding contexts.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7837023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Tue, 6 Sep 2011 22:00:59 +0000 (22:00 +0000)]
Getting rid of ExitContextStatement for scoped blocks.
Review URL: http://codereview.chromium.org/
7835027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9158
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Tue, 6 Sep 2011 21:48:32 +0000 (21:48 +0000)]
Simplfy handling of exits from scoped blocks.
BUG=
TEST=mjsunit/harmony/block-leave.js
Review URL: http://codereview.chromium.org/
7792100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Tue, 6 Sep 2011 21:22:35 +0000 (21:22 +0000)]
Avoid dynamic lookup when initializing let declared variables.
'Let's inside a 'with' would initialize the variable
using the StoreContextSlot runtime function which
would fail because it checks that the variable does
not hold the hole value.
Review URL: http://codereview.chromium.org/
7792098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Sep 2011 14:48:08 +0000 (14:48 +0000)]
Put test directories of d8-os tests into /tmp/.
Review URL: http://codereview.chromium.org/
7835040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 6 Sep 2011 14:07:54 +0000 (14:07 +0000)]
Fix possible crash in FixedDoubleArray::Initialize()
(this only affected ia32).
BUG=95113
TEST=mjsunit/regress/regress-95113.js passes without crashing.
Review URL: http://codereview.chromium.org/
7833040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 6 Sep 2011 14:03:32 +0000 (14:03 +0000)]
Fix map space explosion from changing the arguments and caller properties on native functions.
Adding these local properties on all native functions made us do a
ConvertDescriptorToField on the callback on each and every native
functions, resulting in us creating an extra map for each of these.
Review URL: http://codereview.chromium.org/
7779046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 6 Sep 2011 11:24:48 +0000 (11:24 +0000)]
Fix bug in Page::GetRegionMaskForSpan.
When checking for a wrap take into account offset of the start address in the region.
BUG=http://crbug.com/94425
TEST=test/mjsunit/regress/regress-94425.js
Review URL: http://codereview.chromium.org/
7779037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Sep 2011 09:07:39 +0000 (09:07 +0000)]
Limit the time d8 interactive shell's input strings stay alive.
Review URL: http://codereview.chromium.org/
7779032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 6 Sep 2011 07:43:51 +0000 (07:43 +0000)]
Add regression test for issue 1215, expand regression test for issue 1447.
Both these issues has now been closed since they are working on bleeding edge.
Review URL: http://codereview.chromium.org/
7739024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 6 Sep 2011 07:41:45 +0000 (07:41 +0000)]
Fix a few clang warnings (which -Werror treats as errors)
Review URL: http://codereview.chromium.org/
7779033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Sep 2011 07:09:53 +0000 (07:09 +0000)]
MIPS: ported r9119 fixing performance regression in regexp.
Review URL: http://codereview.chromium.org/
7779030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 5 Sep 2011 13:28:56 +0000 (13:28 +0000)]
Print value and type check dependency for JSArrayLength instruction.
Review URL: http://codereview.chromium.org/
7800028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 5 Sep 2011 11:50:36 +0000 (11:50 +0000)]
Landing: MIPS: Fixed some mips32r1-specific test failures.
Original review: http://codereview.chromium.org/
7737019/
Review URL: http://codereview.chromium.org/
7739019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 5 Sep 2011 11:45:09 +0000 (11:45 +0000)]
Landing MIPS: Support declarations of context allocated locals in Crankshaft.
Original code review: http://codereview.chromium.org/
7739017/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 5 Sep 2011 11:08:57 +0000 (11:08 +0000)]
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
fschneider@chromium.org [Mon, 5 Sep 2011 10:37:49 +0000 (10:37 +0000)]
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
erik.corry@gmail.com [Mon, 5 Sep 2011 10:35:31 +0000 (10:35 +0000)]
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
yangguo@chromium.org [Mon, 5 Sep 2011 09:05:52 +0000 (09:05 +0000)]
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
yangguo@chromium.org [Mon, 5 Sep 2011 09:04:32 +0000 (09:04 +0000)]
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
mikhail.naganov@gmail.com [Mon, 5 Sep 2011 08:06:29 +0000 (08:06 +0000)]
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
lrn@chromium.org [Mon, 5 Sep 2011 07:39:47 +0000 (07:39 +0000)]
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
mikhail.naganov@gmail.com [Mon, 5 Sep 2011 07:37:52 +0000 (07:37 +0000)]
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
lrn@chromium.org [Mon, 5 Sep 2011 07:30:35 +0000 (07:30 +0000)]
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
mikhail.naganov@gmail.com [Fri, 2 Sep 2011 18:50:24 +0000 (18:50 +0000)]
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
mikhail.naganov@gmail.com [Fri, 2 Sep 2011 16:46:35 +0000 (16:46 +0000)]
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
yangguo@chromium.org [Fri, 2 Sep 2011 13:42:50 +0000 (13:42 +0000)]
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
fschneider@chromium.org [Fri, 2 Sep 2011 12:59:05 +0000 (12:59 +0000)]
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
keuchel@chromium.org [Fri, 2 Sep 2011 12:43:28 +0000 (12:43 +0000)]
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
lrn@chromium.org [Fri, 2 Sep 2011 11:38:40 +0000 (11:38 +0000)]
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
fschneider@chromium.org [Fri, 2 Sep 2011 09:29:21 +0000 (09:29 +0000)]
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
fschneider@chromium.org [Fri, 2 Sep 2011 09:28:14 +0000 (09:28 +0000)]
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