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
yangguo@chromium.org [Fri, 2 Sep 2011 08:04:51 +0000 (08:04 +0000)]
Only presubmit check files in git repo for copyright note etc. (if using git).
Review URL: http://codereview.chromium.org/
7792068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 1 Sep 2011 16:33:57 +0000 (16:33 +0000)]
Support declarations of context allocated locals in Crankshaft.
The changes to scopes and parser introduce a VariableProxy
wrapping the function-name variable for function literals.
It seems the easiest way to get an AST id for the HSimulate
after context-slot stores in declarations.
Review URL: http://codereview.chromium.org/
7826009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 1 Sep 2011 15:24:26 +0000 (15:24 +0000)]
Generated code for substring slices in x64 and arm.
Review URL: http://codereview.chromium.org/
7795018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 1 Sep 2011 14:59:47 +0000 (14:59 +0000)]
Include more information when printing phi nodes.
Still a bit cryptic, but people interested in phi nodes should know what they're doing... ;-)
Review URL: http://codereview.chromium.org/
7824004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 1 Sep 2011 14:02:35 +0000 (14:02 +0000)]
Changed printing of immediate result in d8's interactive shell.
BUG=v8:371
Review URL: http://codereview.chromium.org/
7792055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Thu, 1 Sep 2011 12:31:18 +0000 (12:31 +0000)]
Detect conflicting variable bindings in harmony mode.
BUG=
TEST=mjsunit/harmony/block-conflicts.js
Review URL: http://codereview.chromium.org/
7756014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 1 Sep 2011 11:57:02 +0000 (11:57 +0000)]
Make functions on the built-in object non-writable.
Review URL: http://codereview.chromium.org/
7736018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 1 Sep 2011 11:50:29 +0000 (11:50 +0000)]
move -m32 flag for ia32 targets from standalone.gypi to common.gypi
so that we no longer depend on Chromium setting this flag.
BUG=v8:1648
Review URL: http://codereview.chromium.org/
7830004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 1 Sep 2011 11:28:10 +0000 (11:28 +0000)]
Added check for trailing whitespaces and corrected existing violations.
Review URL: http://codereview.chromium.org/
7826007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 1 Sep 2011 11:09:11 +0000 (11:09 +0000)]
Make arguments and caller always be null on native functions (fixes issue 1548 and issue 1643).
With this change we follow Firefox, Safari has a slightly different approach where the property is just not there (at least according to GetOwnProperty).
Review URL: http://codereview.chromium.org/
7792054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 1 Sep 2011 11:06:03 +0000 (11:06 +0000)]
Tiny change flags cleanups.
Introduced a getter for change flags, making a related helper function private.
Do not print a '*' at the end of hydrogen instruction mnemonics with side
effects, this is subsumed by the 'changes' info.
Review URL: http://codereview.chromium.org/
7827009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 1 Sep 2011 10:33:59 +0000 (10:33 +0000)]
Do constant function check earlier in TryCallApply and ensure correct environment for deopt.
R=kmillikin@chromium.org
BUG=v8:1650
TEST=test/mjsunit/regress/regress-1650.js
Review URL: http://codereview.chromium.org/
7812033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 1 Sep 2011 08:00:40 +0000 (08:00 +0000)]
Fix deoptimization data printing.
Remove a spurious newline.
R=whesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7792052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 1 Sep 2011 07:39:22 +0000 (07:39 +0000)]
Cleanup of messages.js.
Lock down some otherwise modifiable objects that don't need it.
Review URL: http://codereview.chromium.org/
7828003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 1 Sep 2011 07:35:33 +0000 (07:35 +0000)]
MIPS: port ARM: Fix context save/restore for VFP registers.
This commit was missed/skipped earlier for some reason.
Ported r8357 (
d78dae4)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7809014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 31 Aug 2011 15:34:33 +0000 (15:34 +0000)]
MIPS: port ARM: Changed the handling of compiletime CPU feature detection
Another port of an older arm commit, which was not upstreamed at the time.
Ported r7754 (
ef678641)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7809016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 31 Aug 2011 15:22:43 +0000 (15:22 +0000)]
MIPS: Convert a bunch of ASSERTs to STATIC_ASSERTs
Ported r9057 (
f6c548d)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7740073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 31 Aug 2011 14:15:42 +0000 (14:15 +0000)]
Add support for shared library builds to tools/test-wrapper-gypbuild.py
by setting LD_LIBRARY_PATH as required
Review URL: http://codereview.chromium.org/
7811016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 31 Aug 2011 14:12:25 +0000 (14:12 +0000)]
Changed test expectations for ARM and MIPS.
Review URL: http://codereview.chromium.org/
7778042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 31 Aug 2011 13:26:08 +0000 (13:26 +0000)]
Introduce local function declarations in Crankshaft and fix issue 1647.
We have to emit code for declarations later into the body block
(and not into the start block) so that the environment contains
the correct values.
In order to capture the environment effect of the declarations
that generate code (function declarations) I inserted a separate
AST id and a HSimulate after the declarations are visited.
Also fixes handling deopt in named function expressions:
BUG=v8:1647
TEST=test/mjsunit/regress/regress-fundecl.js, test/mjsunit/regress/regress-1647.js
Review URL: http://codereview.chromium.org/
7776009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 31 Aug 2011 13:01:28 +0000 (13:01 +0000)]
Add tools/presubmit.py call to tools/test-wrapper-gypbuild.py
Review URL: http://codereview.chromium.org/
7785025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 31 Aug 2011 10:01:43 +0000 (10:01 +0000)]
MIPS: port Temporal dead zone behaviour for let bindings.
Ported r9070 (
1cfdac01)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7778037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 31 Aug 2011 09:42:28 +0000 (09:42 +0000)]
MIPS: small test-case fix for chaining of fixup position.
Add nops to the branch-delay slots of the 'beq' and 'bne' instructions
used in the test-case. Having a branch instruction in the branch-delay-slot
of another branch is undefined on mips.
In regular code we avoid this by using the Branch() macro-instruction which
fills the branch-delay-slot with nop() automatically, unless the programmer
asks to use it (via USE_BRANCH_DELAY).
There is more info about branch-delay-slots on this page, and in the ISA
reference also on the page:
https://github.com/paul99/v8m-rb/wiki/MIPS-instruction-set-and-v8
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7812019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 31 Aug 2011 08:22:36 +0000 (08:22 +0000)]
Removed unnecessary change log item.
Review URL: http://codereview.chromium.org/
7740077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 31 Aug 2011 07:59:23 +0000 (07:59 +0000)]
Prepare push to trunk. Now working on version 3.6.0.
R=jkummerow@chromium.org
Review URL: http://codereview.chromium.org/
7740076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 31 Aug 2011 07:32:47 +0000 (07:32 +0000)]
MIPS: port Fix for a possible bug in RegExp stack guard.
Ported r9058 (
43f127bd)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7776027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 30 Aug 2011 18:45:48 +0000 (18:45 +0000)]
Return v8::True or v8::False instead of using Boolean::New.
BUG=None
TEST=None
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7785001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 30 Aug 2011 16:15:48 +0000 (16:15 +0000)]
MIPS: Added ASSERTs to BranchShort to detect bad use of 'at' register.
Make sure 'at' and an immediate operand can't be used together in cases
where 'at' would be overwritten by li.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7791019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 30 Aug 2011 16:13:02 +0000 (16:13 +0000)]
MIPS: Fix implementation of string slices.
Bug on mips using at register innapropriately, use different reg as temp.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7794020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Tue, 30 Aug 2011 11:23:57 +0000 (11:23 +0000)]
Temporal dead zone behaviour for let bindings.
BUG=
TEST=mjsunit/harmony/block-let-semantics.js
Review URL: http://codereview.chromium.org/
7671042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 30 Aug 2011 11:10:09 +0000 (11:10 +0000)]
Add a dependency of v8_base on WinSocket2 Windows library.
v8_base depends on ws2_32.lib for accept() and some of the
other socket used for the debugger.
Patch by Ryan Dahl <ry@tinyclouds.org>
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7806011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 30 Aug 2011 09:35:20 +0000 (09:35 +0000)]
Fix initial prototype of WeakMap function.
The bootstrapper accidentally overwrote the constructor property of the Object
prototype because it used initial_object_prototype() as prototype for WeakMap.
Unfortunately this is not possible for experimental natives because they are
installed after the snapshot initialization finished.
R=erik.corry@gmail.com
TEST=mjsunit/mirror-object,mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/
7624041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 30 Aug 2011 09:05:40 +0000 (09:05 +0000)]
Fixing presubmit issue.
Review URL: http://codereview.chromium.org/
7792034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 30 Aug 2011 08:41:54 +0000 (08:41 +0000)]
Fixing compile error introducted by a typo in r9064.
Review URL: http://codereview.chromium.org/
7790022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 30 Aug 2011 08:22:41 +0000 (08:22 +0000)]
Generated code for substring slices in ia32.
Review URL: http://codereview.chromium.org/
7744052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 30 Aug 2011 07:36:31 +0000 (07:36 +0000)]
Fixed a bug in the chaining of fixup position
The ARM and MIPS assemblers had a bug where they did not handle the last element
in the list of code positions correctly during the fixup of offsets for forward
jumps. This happened when the first instruction contained a forward jump to a
label, and that label was used in a forward jump later, too.
Unified the code for Assembler::next on ARM and MIPS while we were there.
Added test cases, even for ia32/x64, which seem to be correct, even I don't
fully understand why... %-}
BUG=v8:1644
Review URL: http://codereview.chromium.org/
7786001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Aug 2011 14:04:01 +0000 (14:04 +0000)]
Removing bogus check introduced in r9027.
Review URL: http://codereview.chromium.org/
7781013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Aug 2011 13:29:55 +0000 (13:29 +0000)]
MIPS: Fix an invalid stack-check in the simulator.
This fixes mjsunit regress-1132.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7781002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Aug 2011 13:04:33 +0000 (13:04 +0000)]
Fix for a possible bug in RegExp stack guard.
Review URL: http://codereview.chromium.org/
7744051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 29 Aug 2011 13:02:35 +0000 (13:02 +0000)]
Convert a bunch of ASSERTs to STATIC_ASSERTs
making our debug binaries ever so slightly faster
Review URL: http://codereview.chromium.org/
7776010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 29 Aug 2011 12:19:43 +0000 (12:19 +0000)]
Revert r9047 to fix broken build.
I need some more time to properly fix the problem.
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/
7781008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Aug 2011 11:56:48 +0000 (11:56 +0000)]
MIPS: Fixed a RecordWrite call in the FullCodeGenerator.
This caused an occasional failure in the Threading2 cctest running in debug mode with --always-opt.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7779007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 29 Aug 2011 11:44:54 +0000 (11:44 +0000)]
Make built-in functions not rely on callback functions .call method.
In builtin code, we can't rely on Function.prototype.call being unmolested.
Review URL: http://codereview.chromium.org/
7776008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Aug 2011 11:41:23 +0000 (11:41 +0000)]
Small fix for STATIC_ASSERT.
Review URL: http://codereview.chromium.org/
7776007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 29 Aug 2011 10:50:47 +0000 (10:50 +0000)]
Introduce support for local function declarations in Hydrogen.
Review URL: http://codereview.chromium.org/
7782001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 29 Aug 2011 10:47:00 +0000 (10:47 +0000)]
Remove unnecessary break-after-return in switch statement
BUG=v8:1642
Review URL: http://codereview.chromium.org/
7781007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 29 Aug 2011 10:15:47 +0000 (10:15 +0000)]
Prepare push to trunk. Now working on version 3.5.10.
Review URL: http://codereview.chromium.org/
7782002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9039
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Aug 2011 09:36:58 +0000 (09:36 +0000)]
MIPS: port Tentative implementation of string slices (hidden under the flag --string-slices).
Ported r9027 (
e9a3514)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7736010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 29 Aug 2011 09:14:59 +0000 (09:14 +0000)]
Fix warnings reported by MSVS for shared library build
TEST=compiles without warnings (esp. the shared-lib build with Visual Studio)
Review URL: http://codereview.chromium.org/
7745053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 29 Aug 2011 09:10:27 +0000 (09:10 +0000)]
MIPS: Fix KeyedStoreStubCompiler::GenerateStoreFastDoubleElement()
Test regress-91013.js (to ensure that the stored value was returned) passed on mips
without this fix, since the input value (in value_reg, a0) also happens to be in
mips return value register v0 at the time of call.
But it is fragile to depend on that behavior, so an explicit move from a0 to v0
is warranted. This fix puts that move in the delay slot of the Ret().
Patch by Paul Lind.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7779006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9035
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 29 Aug 2011 08:46:35 +0000 (08:46 +0000)]
Adjust unit test to avoid flakyness when running with the ARM simulator.
In some cases the assert that the test function is not optimized fails
because the function may be optimized already after the second invocation.
(e.g. when running slow in debug mode)
Review URL: http://codereview.chromium.org/
7778009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Aug 2011 08:41:39 +0000 (08:41 +0000)]
Commenting register usage in MIPS.
Review URL: http://codereview.chromium.org/
7775007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 29 Aug 2011 07:13:06 +0000 (07:13 +0000)]
Landing: MIPS: Fixed a bug in a special case of MacroAssembler::Ext.
Original code review: http://codereview.chromium.org/
7777005/
Review URL: http://codereview.chromium.org/
7778007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 29 Aug 2011 07:07:39 +0000 (07:07 +0000)]
Remove code handling parameters rewritten to properties (aka synthetic properties).
After merging the new arguments branch, there is no need for this code anymore.
TEST=all tests pass
Review URL: http://codereview.chromium.org/
7753030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 26 Aug 2011 13:53:00 +0000 (13:53 +0000)]
Make (some) functions called from builtin functions use the callback's global as receiver.
Changes GetGlobalReceiver() to GetDefaultReceiver(func) that returns undefined
for strict and native functions, and the function's context's global proxy
for "normal" functions.
BUG=v8:1547
TEST=cctest/api-test/ForeignFunctionReceiver
Review URL: http://codereview.chromium.org/
7741042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 13:40:25 +0000 (13:40 +0000)]
Fixed regression introduced in r9027.
Review URL: http://codereview.chromium.org/
7741041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Aug 2011 13:23:25 +0000 (13:23 +0000)]
Only count uniquely named native scripts for debug.
The debugger exposes all native script which might include duplicates
having the same name. This is triggered by debug-script in stress mode
on the gc branch.
R=sgjesse@chromium.org
BUG=v8:1641
TEST=mjsunit/debug-script
Review URL: http://codereview.chromium.org/
7740050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 13:03:30 +0000 (13:03 +0000)]
Tentative implementation of string slices (hidden under the flag --string-slices).
TEST=test/mjsunit/string-slices.js
Review URL: http://codereview.chromium.org/
7477045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 11:56:12 +0000 (11:56 +0000)]
Fixed regression introduced in r9023.
Review URL: http://codereview.chromium.org/
7740049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 26 Aug 2011 11:23:51 +0000 (11:23 +0000)]
Add a bunch of compile-time flags to the gyp build (and top-level Makefile)
Review URL: http://codereview.chromium.org/
7748018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 08:45:47 +0000 (08:45 +0000)]
Changed the order of arguments in the check as suggested to issue 1275.
BUG=v8:1275
Review URL: http://codereview.chromium.org/
7740046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 08:22:13 +0000 (08:22 +0000)]
Changed some jumps to short jumps in IA32 generated code.
Review URL: http://codereview.chromium.org/
7745022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 26 Aug 2011 07:44:36 +0000 (07:44 +0000)]
Centralize code for freeing LargeObjectChunks, fixing an uncommit bug.
Due to heavy copy-n-paste, the handling of guard pages was inconsistent and we
didn't uncommit exactly the region we previously committed. Furthermore, the LOG
calls weren't consistent, either.
Review URL: http://codereview.chromium.org/
7744025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 26 Aug 2011 07:24:30 +0000 (07:24 +0000)]
Landing: MIPS: Remove gp and sp from callee-saved register list.
Original code review: http://codereview.chromium.org/
7740018/
Review URL: http://codereview.chromium.org/
7744050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 25 Aug 2011 14:50:09 +0000 (14:50 +0000)]
Refactor .gyp files:
common.gypi now contains global target defaults and is included by all .gyp files;
standalone.gypi contains definitions for stand-alone v8 builds.
This fixes d8 for the ARM simulator.
TEST=compiles and tests pass on all platforms
Review URL: http://codereview.chromium.org/
7740020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Aug 2011 13:38:58 +0000 (13:38 +0000)]
Changed computation of func.caller to skip some built-in functions.
Now skips built-in functions called from other built-in functions,
so only the initally called built-in function is exposed.
Review URL: http://codereview.chromium.org/
7740021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 25 Aug 2011 13:35:15 +0000 (13:35 +0000)]
Two tiny refactorings: Removed a bit of copy-n-paste. Moved LargeObjectChunk::Free from header to implementation, it does a syscall, anyway.
Review URL: http://codereview.chromium.org/
7744023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Aug 2011 13:22:55 +0000 (13:22 +0000)]
Added access check to Runtime_GetPrototype.
BUG=93759
Review URL: http://codereview.chromium.org/
7701023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 25 Aug 2011 12:12:25 +0000 (12:12 +0000)]
Land two MIPS changes contributed by Paul Lind.
1. Issue
7744014: MIPS: Fixed and optimized MacroAssembler::Trunc_uw_d, Cvt_d_uw, Ext, Ins. (http://codereview.chromium.org/
7744014/)
2. Issue
7740019: MIPS: Fix for function argument access in non-strict mode. (http://codereview.chromium.org/
7740019/)
Review URL: http://codereview.chromium.org/
7741016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 25 Aug 2011 10:55:44 +0000 (10:55 +0000)]
Fixed bool <-> Executability confusion and improved typing a bit.
Passing a value of type Executability to a function expecting a bool worked only
by accident (because of the order of values in the enum). But using boolean
parameters is often a bad idea, anyway, so we use Executability directly.
Just another example why implicit type conversions in C++ are a bad idea... :-P
Review URL: http://codereview.chromium.org/
7753001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Aug 2011 09:07:43 +0000 (09:07 +0000)]
Make FromPropertyDescriptor not trigger inherited setters.
Review URL: http://codereview.chromium.org/
7745017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 24 Aug 2011 11:53:59 +0000 (11:53 +0000)]
Prepare push to trunk. Now working on version 3.5.9.
Review URL: http://codereview.chromium.org/
7714033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Aug 2011 10:48:48 +0000 (10:48 +0000)]
Fixed the shared library build of D8 that was broken by r9005.
Review URL: http://codereview.chromium.org/
7701024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9006
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Aug 2011 09:47:10 +0000 (09:47 +0000)]
Fixed minor bug in D8 related to mapping counters to a file.
Review URL: http://codereview.chromium.org/
7717022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 23 Aug 2011 13:57:37 +0000 (13:57 +0000)]
removed executable bit in those files.
Review URL: http://codereview.chromium.org/
7710019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 23 Aug 2011 13:23:30 +0000 (13:23 +0000)]
Fix typo in assert.
Also remove the requirement to have an AssertNoAllocation object when getting the flat content. We actually do allow allocation, it's just GC's we don't allow.
Review URL: http://codereview.chromium.org/
7710018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 23 Aug 2011 12:24:54 +0000 (12:24 +0000)]
Heap profiler: for objects of class "Object", try to lookup name
from the constructor function. This works well for binding objects,
and this matches DevTools' algorithm for name assignment.
R=sgjesse@chromium.org
BUG=none
TEST=test-heap-profiler/GetConstructorName
Review URL: http://codereview.chromium.org/
7709026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 23 Aug 2011 12:22:12 +0000 (12:22 +0000)]
Replace ToAsciiVector and ToUC16Vector with single function that returns a tagged value.
The tag tells whether the content is ASCII or UC16, or even if the string wasn't flat.
BUG: v8:1633
Review URL: http://codereview.chromium.org/
7709024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 23 Aug 2011 12:00:09 +0000 (12:00 +0000)]
Fix ARM build for gcc-4.6.
This is based on Peter Varga's work in http://codereview.chromium.org/
7708004/
but with a different solution for the Operand(0) int/pointer ambiguity.
Review URL: http://codereview.chromium.org/
7706030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 23 Aug 2011 11:19:08 +0000 (11:19 +0000)]
Perform range analysis after GVN.
This eliminate redundant HChange instructions and allows range information of
converted values propagated across control-flow splits.
It fixes the performance regression on code like:
if (x > 1) {
y = x - 1;
}
where we should eliminate the overflow check on the sub inside the if-statement.
Review URL: http://codereview.chromium.org/
7709025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 23 Aug 2011 11:11:12 +0000 (11:11 +0000)]
Slight API change enabling opting out from null termination in String::Write*().
BUG=v8:1537
TEST=cctest test-api/StringWrite
Review URL: http://codereview.chromium.org/
7706002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 23 Aug 2011 07:34:45 +0000 (07:34 +0000)]
Insert representation changes before doing range analysis and fix a bug in Range::Copy.
This improves our static type information by calculating the result type
of conversions (HChange) during range analysis. It allows e.g. to eliminate
the write barrier in the following example where it was not possible before:
function f(x) {
var y = x + 1;
if (y > 0 && y < 100) {
a[0] = y;
}
}
* Fix bug in Range::Copy. The minus-zero flags has to be preserved by default.
Review URL: http://codereview.chromium.org/
7634022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 22 Aug 2011 14:23:37 +0000 (14:23 +0000)]
Improve memory usage of receiver type feedback.
Some AST nodes (Property, Call, etc.) store either a list of receiver
types or a monomorphic receiver type. This patch merges the two fields
using a small pointer list. GetMonomorphicReceiverType() is now a
purely convenience function returning the first and only recorded
type.
This saves about 500K (of about 39M) on average when compiling V8
benchmark as measured by a simple patch adding a zone allocation
counter (https://gist.github.com/
1149397).
R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/
7655017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 22 Aug 2011 13:55:25 +0000 (13:55 +0000)]
Inserted a missing string encoding check in lastIndexOf.
Review URL: http://codereview.chromium.org/
7685005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Aug 2011 13:04:14 +0000 (13:04 +0000)]
Ensure that the current isolate is initialized in the API function Context::GetEntered.
r8833 introduced a regression in our API semantics, showing up in e.g.
Chrome 12, which is fixed by this patch.
Review URL: http://codereview.chromium.org/
7686005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 22 Aug 2011 13:01:25 +0000 (13:01 +0000)]
Added forgotten V8EXPORT attributes for v8::Array::CheckCast and v8::Number::CheckCast.
BUG=v8:1618
Review URL: http://codereview.chromium.org/
7692020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00