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
lrn@chromium.org [Mon, 22 Aug 2011 12:54:03 +0000 (12:54 +0000)]
Fix bug introduced by earlier "cleanup".
TEST=message/replacement-marker-as-argument
Review URL: http://codereview.chromium.org/
7696024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 22 Aug 2011 10:55:48 +0000 (10:55 +0000)]
Prepare push to trunk. Working version now 3.5.8.
Review URL: http://codereview.chromium.org/
7697017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8980
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 22 Aug 2011 09:51:56 +0000 (09:51 +0000)]
Prune some internal objects' prototypes.
Review URL: http://codereview.chromium.org/
7703005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Aug 2011 09:10:47 +0000 (09:10 +0000)]
Make instruction for write barrier smaller.
R=yangguo@chromium.org
BUG=v8:1495
Review URL: http://codereview.chromium.org/
7703007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Mon, 22 Aug 2011 09:05:28 +0000 (09:05 +0000)]
MIPS: port Parse harmony let declarations.
Port r8944 (
a5a36f4)
Original commit message:
Implementation of the harmony block scoped let bindings as proposed here:
http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings
Changes to the syntax are explained there. They are active under the
harmony_block_scoping_ flag in the parser.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7696020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Aug 2011 09:00:27 +0000 (09:00 +0000)]
MIPS: port Clean up the nesting stack in the full code generator.
Port 8972 (
6a896b3)
Original commit message:
Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7693021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 19 Aug 2011 11:13:26 +0000 (11:13 +0000)]
Simplified the sample shell. Resort to D8 shell for tests instead.
Review URL: http://codereview.chromium.org/
7354022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 19 Aug 2011 11:02:41 +0000 (11:02 +0000)]
Make regexp flag parsing stricter.
BUG=v8:1628
TEST=mjsunit/regress/regress-219
Review URL: http://codereview.chromium.org/
7624045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 19 Aug 2011 09:54:08 +0000 (09:54 +0000)]
Clean up the nesting stack in the full code generator.
Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7669018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8972
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 19 Aug 2011 05:24:39 +0000 (05:24 +0000)]
Remove trailing whitespaces from *.js files.
This is a whitespace removal only change
Review URL: http://codereview.chromium.org/
7687001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 18 Aug 2011 12:47:23 +0000 (12:47 +0000)]
Make scanner handle invalid unicode escapes in identifiers correctly.
I.e., don't just convert \u to u in identifiers (like in strings and regexps).
Also make the scanning of RegExp flags not interpret the escapes.
(Fix and reapply of r8942)
BUG=v8:1620
TEST=mjsunit/regress/regress-1620
Review URL: http://codereview.chromium.org/
7677012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 18 Aug 2011 12:33:40 +0000 (12:33 +0000)]
Fix another handful of memory leaks
TEST=valgrind reports 0 bytes definitely lost for cctest/test-api/RunTwoIsolatesOnSingleThread
Review URL: http://codereview.chromium.org/
7621064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 18 Aug 2011 12:14:12 +0000 (12:14 +0000)]
Fix three ~Isolate() related memory leaks
BUG=93253
TEST=running valgrind on cctest/test-api/RunTwoIsolatesOnSingleThread reports fewer leaks than before
Review URL: http://codereview.chromium.org/
7624043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 18 Aug 2011 09:51:08 +0000 (09:51 +0000)]
Unify GetElement handlers in ElementsAccessor
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/
7655030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8966
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 18 Aug 2011 09:20:32 +0000 (09:20 +0000)]
Remove redundant implementation of UnionOfKeys
R=svenpanne@chromium.org
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/
7670037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 18 Aug 2011 08:39:06 +0000 (08:39 +0000)]
Use InternalArray in Object.defineProperties to avoid issues with overwriten properties on Array.prototype
TEST=mjsunit/regress/regress-1625
BUG=v8:1625
Review URL: http://codereview.chromium.org/
7631039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8964
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 17 Aug 2011 16:15:30 +0000 (16:15 +0000)]
Implement UnionOfKeys for NonStrictArguments
BUG=none
TEST=cctest/test-api/IndexedInterceptorNonStrictArgsWithIndexedAccessor
Review URL: http://codereview.chromium.org/
7657011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8963
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 17 Aug 2011 15:56:54 +0000 (15:56 +0000)]
GYP fixes: -Werror, snapshot.log, want_separate_host_toolset detection
Review URL: http://codereview.chromium.org/
7658011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8962
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 17 Aug 2011 13:55:05 +0000 (13:55 +0000)]
Prepare push to trunk. Now working on version 3.5.7.
R=ricow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7671017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8957
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 17 Aug 2011 11:45:04 +0000 (11:45 +0000)]
Fixed scanner initialization in test-parsing.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7676003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8956
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 17 Aug 2011 11:17:59 +0000 (11:17 +0000)]
Initialize harmony block scoping field in scanner.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7671016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8955
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 17 Aug 2011 10:29:05 +0000 (10:29 +0000)]
Remove some unnecessary namespace alias definitions.
We can pick the namespace alias 'i' from v8.h which is already included
in those files.
BUG=None
TEST=None
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7621035
--------------
Inline the implementation of Handle default ctor.
BUG=None
TEST=None
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7669013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8953
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 17 Aug 2011 09:51:20 +0000 (09:51 +0000)]
Fix GC unsafe place in JSProxy::DeletePropertyWithHandler.
Review URL: http://codereview.chromium.org/
7670023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8952
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 17 Aug 2011 09:39:03 +0000 (09:39 +0000)]
Bugs in x64 ICs introduced by array length refactor.
BUG=chromium:93044
TEST=external-array.js
Review URL: http://codereview.chromium.org/
7672014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8951
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 17 Aug 2011 09:22:58 +0000 (09:22 +0000)]
fix compilation with gcc 4.6
* src/bootstrapper.cc (Genesis::InitializeExperimentalGlobal): Remove
assigned-but-unused var.
BUG=
TEST=passes test suite, modulo http://code.google.com/p/v8/issues/detail?id=1621
Review URL: http://codereview.chromium.org/
7658014
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8950
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 17 Aug 2011 08:48:54 +0000 (08:48 +0000)]
Fix memory leaks in ~Zone and ~Isolate
TEST=chromium valgrind bots
Review URL: http://codereview.chromium.org/
7660016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 17 Aug 2011 08:24:36 +0000 (08:24 +0000)]
Fix compilation on Linux 2.6.9 and older.
Review URL: http://codereview.chromium.org/
7655016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8948
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 17 Aug 2011 08:22:41 +0000 (08:22 +0000)]
Revert 8942 "Make scanner not accept invalid unicode escapes in identifiers"
This is causing webkit failures, reverting until we figure out if this is a V8 regression or wrong test expectations.
Review URL: http://codereview.chromium.org/
7669017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8947
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00