vegorov@chromium.org [Fri, 28 Oct 2011 12:49:09 +0000 (12:49 +0000)]
Make C++ to JS transition faster by avoiding JavaScriptFrameIterator in SaveContext.
R=kmillikin@chromium.org
BUG=v8:1730
Review URL: http://codereview.chromium.org/
8403037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 28 Oct 2011 12:37:29 +0000 (12:37 +0000)]
Handlify the remaining CallStubCompiler functions.
Also, handlify functions for loading with interceptors and callbacks.
Remove some unneeded code. Rename Foreign::address() because it
confusingly shadows HeapObject::address() which does something quite
different.
R=vegorov@chromium.org,ulan@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8391045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Oct 2011 10:35:38 +0000 (10:35 +0000)]
Force transition to FAST_ELEMENTS on out-of-bounds KeyedLoads.
Proactively ensure that that objects don't get FAST_DOUBLE_ELEMENTS to reduce the number of double boxing operations when generated code calls the runtime frequently to satisfy KeyedLoad requests.
Review URL: http://codereview.chromium.org/
8416014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Fri, 28 Oct 2011 09:10:29 +0000 (09:10 +0000)]
Remove kInvalidStrictFlag and make gcc-4.5 happy again.
Review URL: http://codereview.chromium.org/
8403036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 28 Oct 2011 09:09:51 +0000 (09:09 +0000)]
Fix assertSame for unit testing harness.
Using isNaN() here is bogus because it performs an implicit toNumber()
conversion, hence something like assertSame(undefined, {}) would not
throw an exception. These are not the NaNs you are looking for.
R=rossberg@chromium.org
TEST=mjsunit
Review URL: http://codereview.chromium.org/
8400056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 28 Oct 2011 08:51:08 +0000 (08:51 +0000)]
Fix presubmit error.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 28 Oct 2011 08:45:04 +0000 (08:45 +0000)]
Fix error handling in Date.prototype.toISOString.
This fixes Date.prototyoe.toISOString to throw a RangeError exception
for invalid time values. It also includes a fix to removes the arbitrary
(and completely bogus) range limit on the date value during construction
of a Date object. Note that we still have bogus range limits on the year
and month values.
R=lrn@chromium.org
BUG=v8:1792
TEST=mjsunit/date,test262/15.9.5.43-0-*
Review URL: http://codereview.chromium.org/
8392036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 28 Oct 2011 08:14:46 +0000 (08:14 +0000)]
MIPS: crankshaft implementation
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7934002
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Oct 2011 08:03:13 +0000 (08:03 +0000)]
MIPS: Fixing performance regression in issue 1787.
Port r9812 (
c1644a9d)
Note: MIPS already had the fix for this regression.
This commit only adds the extra assertions.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8343030
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 28 Oct 2011 07:38:27 +0000 (07:38 +0000)]
Prepare push to trunk. Now working on 3.7.4.
Review URL: http://codereview.chromium.org/
8417020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 27 Oct 2011 15:46:25 +0000 (15:46 +0000)]
Temporarily disable target recording CallFunctionStub until issue 1789 is fixed.
Review URL: http://codereview.chromium.org/
8340029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Oct 2011 14:19:22 +0000 (14:19 +0000)]
Tiny improvements on fast element conversion loops in ia32 and x64.
Review URL: http://codereview.chromium.org/
8403035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9820
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 27 Oct 2011 14:03:32 +0000 (14:03 +0000)]
Prepare push to trunk. Now working on 3.7.3
Review URL: http://codereview.chromium.org/
8407001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9819
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Thu, 27 Oct 2011 13:08:51 +0000 (13:08 +0000)]
Use StrictModeFlag in preparser and preparse data.
Review URL: http://codereview.chromium.org/
8396040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 27 Oct 2011 12:12:53 +0000 (12:12 +0000)]
Revert r9805.
It did not fix the original problem, but instead introduced new ones.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/
8404037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Oct 2011 11:11:59 +0000 (11:11 +0000)]
Fixing dead code in empty array init.
TEST=set JSArray::kPreallocatedArrayElements to larger than 4.
Review URL: http://codereview.chromium.org/
8381014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 27 Oct 2011 09:21:15 +0000 (09:21 +0000)]
MIPS: Handlify CompileLoad and CompileStore
Port the following 3 stub-cache commits:
r9788 (
67147b7) Handlify CompileLoadGlobal, CompileLoadElement, CompileLoadPolymorphic.
r9791 (
b19c694) Handlify simple functions of [keyed] store stub compiler.
r9803 (
e0c3c89) Handlify CompileStoreCallback, CompileStoreInterceptor.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8404016
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Oct 2011 07:59:12 +0000 (07:59 +0000)]
Fixing performance regression in issue 1787.
BUG=v8:1787
Review URL: http://codereview.chromium.org/
8390050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 27 Oct 2011 07:50:40 +0000 (07:50 +0000)]
Mark Test262 test cases for known issue 1790.
R=lrn@chromium.org
BUG=v8:1790
TEST=test262/15.4.4.22-9-9
Review URL: http://codereview.chromium.org/
8396042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 27 Oct 2011 07:10:25 +0000 (07:10 +0000)]
Skip live edit debug tests, these are flaky because in the case of osr we will get wrong frame heights.
Review URL: http://codereview.chromium.org/
8401029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9808
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 27 Oct 2011 05:27:38 +0000 (05:27 +0000)]
Prepare push to trunk. Now working on 3.7.2
Review URL: http://codereview.chromium.org/
8390049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 26 Oct 2011 15:02:00 +0000 (15:02 +0000)]
MIPS: port Implement for-in loop for proxies.
Port r9760 (
a1c4dc80)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8396029
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 26 Oct 2011 14:05:18 +0000 (14:05 +0000)]
Fix bug in lazy deoptimization after HInvokeFunction.
The full code generator expects the function expression on top
of the stack until after the all. We have to emit the call + the
corresponding simulate before dropping it in the hydrogen code.
BUG=v8:1789
Review URL: http://codereview.chromium.org/
8391042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 26 Oct 2011 12:51:07 +0000 (12:51 +0000)]
Remove special-casing of calls to RegExp test and exec methods with no argument.
Matches new JSC behavior. Fix issue 75740.
BUG=75740
TEST=mjsunit/regexp-static
Review URL: http://codereview.chromium.org/
6677020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9804
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 26 Oct 2011 12:35:12 +0000 (12:35 +0000)]
Handlify CompileStoreCallback, CompileStoreInterceptor.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8390045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 26 Oct 2011 12:35:10 +0000 (12:35 +0000)]
MIPS: port Refactor and clean up array allocation across platforms.
Port r9747 (
dc33375)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8395030
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9802
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 26 Oct 2011 12:23:40 +0000 (12:23 +0000)]
Fix identity hash code function to respect flag.
The flag passed to JSObject::GetIdentityHash() was not respected so far
and an indentity hash code was generated even when the flag requested
not to do so. This could lead to a rare corner cases (for which a test
case was added) where a GC request would have been dropped.
R=rossberg@chromium.org
TEST=cctest/test-dictionary
Review URL: http://codereview.chromium.org/
8390047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9801
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 26 Oct 2011 11:34:11 +0000 (11:34 +0000)]
Fixing issue 1788.
BUG=v8:1788
Review URL: http://codereview.chromium.org/
8396037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9792
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 26 Oct 2011 10:45:24 +0000 (10:45 +0000)]
Handlify simple functions of [keyed] store stub compiler.
Handlified functions: CompileStoreField, CompileStoreGlobal, CompileStoreElement, CompileStorePolymorphic.
Based on
8375053.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8393003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9791
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 26 Oct 2011 10:41:52 +0000 (10:41 +0000)]
Fix Error.prototype.toString to be ES5 conform.
R=lrn@chromium.org
TEST=test262/15.11.4.4-8-1,mjsunit/error-tostring
Review URL: http://codereview.chromium.org/
8341021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9790
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 26 Oct 2011 10:31:06 +0000 (10:31 +0000)]
Fix bug in inlining call-as-function when inlining multiple levels deep.
This change fixes a off-by-one level error when dropping the
function from the environment. The function of the outermost
environment was not dropped.
BUG=v8:1785
TEST=test/mjsunit/compiler/regress-inline-callfunctionstub.js
Review URL: http://codereview.chromium.org/
8341019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9789
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 26 Oct 2011 09:58:32 +0000 (09:58 +0000)]
Handlify CompileLoadGlobal, CompileLoadElement, CompileLoadPolymorphic.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8375053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9788
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 26 Oct 2011 09:31:40 +0000 (09:31 +0000)]
Handle proxies in KeyedStoreIC::Store, instead of just ignoring them.
R=mstarzinger@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
8391005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9787
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 26 Oct 2011 09:30:04 +0000 (09:30 +0000)]
MIPS: port Moved random generator state to global context.
Port r9753 (
28cd67f8)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8390032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9786
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 26 Oct 2011 09:21:36 +0000 (09:21 +0000)]
MIPS: port Handlify simple functions of [keyed] load stub compiler.
Port r9773 (
4cf7a453)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8390035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9785
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 26 Oct 2011 08:43:33 +0000 (08:43 +0000)]
MIPS: port Replace boolean indications of strict mode by an enum value.
Port r9746 (
804e4e4)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8390030
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9784
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 26 Oct 2011 08:42:15 +0000 (08:42 +0000)]
MIPS: port Block scoped const variables.
Port r9764 (
9b9689d5)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8390033
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9783
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 26 Oct 2011 08:32:37 +0000 (08:32 +0000)]
MIPS: port Handlify CallStubCompiler::CompileCallField.
Port r9769 (
db287698)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8394028
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9782
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 26 Oct 2011 08:17:24 +0000 (08:17 +0000)]
Land two MIPS changes.
Issue
8368021: MIPS: port Fix compilation on ARM and x64 broken by r9738
Issue
8378001: MIPS: port Avoid static initializers in assember-arm.h.
Review URL: http://codereview.chromium.org/
8341048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9781
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 26 Oct 2011 06:37:57 +0000 (06:37 +0000)]
Make the irregexp interpreter throw on stack overflow.
BUG=v8:904
Review URL: http://codereview.chromium.org/
8387027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9780
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 25 Oct 2011 16:11:53 +0000 (16:11 +0000)]
Temporarily skip failing test to make sure builders cycle green.
R=mstarzinger@chromium.org
Review URL: http://codereview.chromium.org/
8393005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9779
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 25 Oct 2011 15:39:55 +0000 (15:39 +0000)]
Take loop side-effects into account when collecting side-effects on the path between two blocks.
R=fschneider@chromium.org
BUG=100409
TEST=test/mjsunit/regress/regress-100409.js
Review URL: http://codereview.chromium.org/
8395002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9778
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 25 Oct 2011 14:14:56 +0000 (14:14 +0000)]
Implement Harmony sets and maps.
This implementation extends the internal ObjectHashTable to be able to
hold arbitrary objects (e.g. Smis, Strings, ...) as keys by applying
specialized hashing functions to primitive types. Equality of keys is
defined using the internal SameValue function.
R=rossberg@chromium.org
BUG=v8:1622
TEST=mjsunit/harmony/collections
Review URL: http://codereview.chromium.org/
8372027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9777
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 25 Oct 2011 13:43:19 +0000 (13:43 +0000)]
Print out line number and extension name when compilation of an extension fails. This fixes issue 305.
Review URL: http://codereview.chromium.org/
8332029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9776
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Tue, 25 Oct 2011 13:34:52 +0000 (13:34 +0000)]
Remove superfluous assert.
Review URL: http://codereview.chromium.org/
8332028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9775
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Oct 2011 13:27:46 +0000 (13:27 +0000)]
Move some heap verification code in under the --verify-heap flag to speed
up debug mode tests.
Review URL: http://codereview.chromium.org/
8381040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9774
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 25 Oct 2011 12:26:07 +0000 (12:26 +0000)]
Handlify simple functions of [keyed] load stub compiler.
Handlified functions: CompileLoadNonexistent, CompileLoadField,
CompileLoadConstant, CompileLoadArrayLength, CompileLoadStringLength,
CompileLoadFunctionPrototype.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8383033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9773
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Oct 2011 12:13:06 +0000 (12:13 +0000)]
Speed up debug mode GC.
Review URL: http://codereview.chromium.org/
8380038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9772
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Oct 2011 11:02:29 +0000 (11:02 +0000)]
Get back the performance lost in context creation in 9744.
Review URL: http://codereview.chromium.org/
8332026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9771
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 25 Oct 2011 09:30:52 +0000 (09:30 +0000)]
Fix presubmit error introduced by r9767.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8383031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9770
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 25 Oct 2011 09:24:49 +0000 (09:24 +0000)]
Handlify CallStubCompiler::CompileCallField.
This function relies on a number of helpers for checking prototypes and
probing dictionaries. It is not possible to wrap these helpers to retry
after allocation failure in a safe way---the assembler has no way to undo
what it has already assembled.
These functions have all been duplicated with handle and raw versions. The
raw versions will eventually be removed completely.
R=ulan@chromium.org,vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8332003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9769
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 25 Oct 2011 09:07:09 +0000 (09:07 +0000)]
CompileArrayPushCall should not use context register as a scratch.
R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/
8330026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9768
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 25 Oct 2011 09:06:07 +0000 (09:06 +0000)]
Provide fast-path for CHECK macro.
Makes debug build 20% faster.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8256011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9767
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Oct 2011 08:59:03 +0000 (08:59 +0000)]
Fix 9763 for real.
Review URL: http://codereview.chromium.org/
8382032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9766
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Oct 2011 08:42:38 +0000 (08:42 +0000)]
Fix 9763 after build bot failures.
Review URL: http://codereview.chromium.org/
8382031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9765
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Tue, 25 Oct 2011 08:33:08 +0000 (08:33 +0000)]
Block scoped const variables.
This implements block scoped 'const' declared variables in harmony mode. They
have a temporal dead zone semantics similar to 'let' bindings, i.e. accessing
uninitialized 'const' bindings in throws a ReferenceError.
As for 'let' bindings, the semantics of 'const' bindings in global scope is not
correctly implemented yet. Furthermore assignments to 'const's are silently
ignored. Another CL will introduce treatment of those assignments as early
errors.
Review URL: http://codereview.chromium.org/
7992005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9764
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Oct 2011 08:24:06 +0000 (08:24 +0000)]
Get the speed back in new context creation after it was tanked
in 9744.
Review URL: http://codereview.chromium.org/
8380035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9763
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Oct 2011 08:23:56 +0000 (08:23 +0000)]
Add missing comment from last commit.
Review URL: http://codereview.chromium.org/
8383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9762
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 24 Oct 2011 16:25:30 +0000 (16:25 +0000)]
Adapt to latest spec changes for Proxy.create[Function].
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8271005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9761
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 24 Oct 2011 15:56:18 +0000 (15:56 +0000)]
Implement for-in loop for proxies.
Fix related corner case for Object.keys.
Remove obsolete GET_KEYS builtin.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8256015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9760
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Oct 2011 15:06:20 +0000 (15:06 +0000)]
Handle COW-arrays correctly when converting smi->double fast elements.
TEST=mjsunit/elements-transition.js
Review URL: http://codereview.chromium.org/
8383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9759
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 24 Oct 2011 13:53:08 +0000 (13:53 +0000)]
Fix bug in environment simulation after inlined call-as-function.
This change is based on my previous change enabling inlining calls-as-function
fixing the bugs related to deoptimization.
The function value on top of the environment was dropped too late in the old code.
As a result we could get a wrong value on top after deoptimization.
This change includes r9619. It was reverted because of test failures that are fixed
with this patch.
Review URL: http://codereview.chromium.org/
8360001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9758
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 24 Oct 2011 13:45:19 +0000 (13:45 +0000)]
Use handle lists in Map::FindTransitionedMap.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8373030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9757
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 24 Oct 2011 13:11:14 +0000 (13:11 +0000)]
Use handle lists instead of raw pointer lists in polymorphic code cache.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8368024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9756
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 24 Oct 2011 12:39:29 +0000 (12:39 +0000)]
Fix crash in partial snapshot test when running with no boot snapshot.
Review URL: http://codereview.chromium.org/
8381003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9755
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 24 Oct 2011 12:19:55 +0000 (12:19 +0000)]
Fix typo in type-name and reorder initialization order.
Remember, when coming back to an old CL, do check that it still works.
Review URL: http://codereview.chromium.org/
8351002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9754
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 24 Oct 2011 12:12:21 +0000 (12:12 +0000)]
Moved random generator state to global context.
Change Random to take global context, not isolate.
BUG=v8:864
Review URL: http://codereview.chromium.org/
8162014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9753
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 24 Oct 2011 12:07:35 +0000 (12:07 +0000)]
Remove one static initializer from disasm.
Review URL: http://codereview.chromium.org/
8381002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9752
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Oct 2011 11:16:38 +0000 (11:16 +0000)]
Further improvements upon r9747.
Review URL: http://codereview.chromium.org/
8372028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9751
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 24 Oct 2011 10:55:00 +0000 (10:55 +0000)]
Handlify the remaining stub compiler functions for call ICs.
Handlify StubCompiler functions for CallIC and KeyedCallIC cases
Megamorphic, Arguments, DebugBreak, and DebugPrepareStepIn.
R=ulan@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8372029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9750
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 24 Oct 2011 09:33:11 +0000 (09:33 +0000)]
Handlify call cases for pre-monomorphic, normal, and miss.
These cases turn out to be easy. There is a lingering raw pointer
implementation of TryCompileCallMiss because it's need by some of the
unconverted call stubs.
R=ulan@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8366036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9749
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 24 Oct 2011 08:59:34 +0000 (08:59 +0000)]
Fix initialization of allocation timeout value.
The allocation timeout value should not be initialized to 0, that
triggers a collection at the first allocation which breaks assumptions
for some test cases.
R=ricow@chromium.org
TEST=cctest/test-heap/Iteration
Review URL: http://codereview.chromium.org/
8275032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9748
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Oct 2011 07:55:50 +0000 (07:55 +0000)]
Refactor and clean up array allocation across platforms.
Review URL: http://codereview.chromium.org/
8359034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9747
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Mon, 24 Oct 2011 07:47:22 +0000 (07:47 +0000)]
Replace boolean indications of strict mode by an enum value.
Review URL: http://codereview.chromium.org/
8344082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9746
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 21 Oct 2011 18:40:36 +0000 (18:40 +0000)]
MIPS: Porting r9605 to arm (elements kind conversion in generated code).
Port r9690 (
857eacf)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8366031
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9745
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 21 Oct 2011 15:20:53 +0000 (15:20 +0000)]
Fix missing write barrier in deserialization. Issue 1783.
Review URL: http://codereview.chromium.org/
8352045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9744
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 21 Oct 2011 15:15:47 +0000 (15:15 +0000)]
MIPS: port Support array literals with FAST_DOUBLE_ELEMENTS ElementsKind.
Port r9698 (
cf0cc54f)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8363025
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9743
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 21 Oct 2011 13:05:37 +0000 (13:05 +0000)]
The detailed heap snapshot generator was slightly adjusted for tracking sliced strings.
BUG=v8:1779
TEST=cctest/test-heap-profiler/HeapSnapshotSlicedString
Review URL: http://codereview.chromium.org/
8362028
Patch from Ilya Tikhonovsky <loislo@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9742
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 21 Oct 2011 11:42:54 +0000 (11:42 +0000)]
Handlify KeyedIC::ComputeStub.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8356041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9741
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Oct 2011 10:59:25 +0000 (10:59 +0000)]
MIPS: port RegExpMacroAssembler::CheckStackGuardState should update input string pointer...
... when it is moved or changed by GC.
Port r9697 (
d53382a)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8362024
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9740
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Oct 2011 10:53:02 +0000 (10:53 +0000)]
Fix compilation on ARM and x64 broken by r9738
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8359026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9739
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Oct 2011 10:37:56 +0000 (10:37 +0000)]
Avoid write-barriers when initializing newly created Code object.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8365029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9738
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Oct 2011 10:33:50 +0000 (10:33 +0000)]
Disable incremental marking when GC extension is exposed.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8366001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9737
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Oct 2011 10:33:12 +0000 (10:33 +0000)]
Fix CountLeadingZeros on non-ARMv5 hardware.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8361030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9736
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Oct 2011 10:32:38 +0000 (10:32 +0000)]
Avoid incremental marking write-barrier when constructing descriptor arrays.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8360004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9735
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Fri, 21 Oct 2011 10:26:59 +0000 (10:26 +0000)]
Reapply r9673 "Scope tree serialization and ScopeIterator cleanup."
This also includes the two fixes from r9674 and r9675. Here's the diff
to the previous CL.
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -11133,17 +11133,26 @@ class ScopeIterator {
context_(Context::cast(frame->context())),
nested_scope_chain_(4) {
+ // Catch the case when the debugger stops in an internal function.
+ Handle<SharedFunctionInfo> shared_info(function_->shared());
+ if (shared_info->script() == isolate->heap()->undefined_value()) {
+ if (shared_info->scope_info()->HasContext()) Next();
+ return;
+ }
+
// Check whether we are in global code or function code. If there is a stack
// slot for .result then this function has been created for evaluating
// global code and it is not a real function.
// Checking for the existence of .result seems fragile, but the scope info
// saved with the code object does not otherwise have that information.
- int index = function_->shared()->scope_info()->
+ int index = shared_info->scope_info()->
StackSlotIndex(isolate_->heap()->result_symbol());
// Reparse the code and analyze the scopes.
ZoneScope zone_scope(isolate, DELETE_ON_EXIT);
- Handle<SharedFunctionInfo> shared_info(function_->shared());
Handle<Script> script(Script::cast(shared_info->script()));
Scope* scope;
if (index >= 0) {
Review URL: http://codereview.chromium.org/
8344046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9734
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 21 Oct 2011 10:19:16 +0000 (10:19 +0000)]
Handlify StubCompiler::CompileCallInitialize.
CallIC::GenerateInitialize and KeyedCallIC::GenerateInitialize are
verified safe for GC.
R=ulan@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8361028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9733
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 21 Oct 2011 09:55:25 +0000 (09:55 +0000)]
Avoid static initializers in assember-arm.h.
Patch by joth@chromium.org.
BUG=v8:1784
Review URL: http://codereview.chromium.org/
8367001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9732
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 21 Oct 2011 08:59:32 +0000 (08:59 +0000)]
MIPS: port Handlify the stub cache lookup and patching for CallIC and KeyedCallIC.
Port r9729 (
4aa1f5a6)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8365026
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9731
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 20 Oct 2011 17:28:14 +0000 (17:28 +0000)]
Fix presubmit failure.
TBR=ulan@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8364004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9730
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 20 Oct 2011 17:08:53 +0000 (17:08 +0000)]
Handlify the stub cache lookup and patching for CallIC and KeyedCallIC.
R=ulan@chromium.org,vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8357010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9729
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Oct 2011 16:39:26 +0000 (16:39 +0000)]
Reset failure flag before retrying stub compilation.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8365003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9728
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Oct 2011 13:54:16 +0000 (13:54 +0000)]
Handlify upper layers of KeyedStoreIC.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8356039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9727
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 20 Oct 2011 13:47:14 +0000 (13:47 +0000)]
Fix the build on Mac.
Review URL: http://codereview.chromium.org/
8354037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9726
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 20 Oct 2011 12:55:31 +0000 (12:55 +0000)]
Improved printing of Simulate, LoadNamedFieldPolymorphic, LoadNamedGeneric, and StoreNamedField Hydrogen instructions a bit.
Review URL: http://codereview.chromium.org/
8352044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9725
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Oct 2011 12:36:45 +0000 (12:36 +0000)]
Refactor elements kind conversion.
Review URL: http://codereview.chromium.org/
8355035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9724
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 20 Oct 2011 12:31:33 +0000 (12:31 +0000)]
Make builtin functions be skipped in stack traces.
Does include exposed builtin functions ("native functions").
Review URL: http://codereview.chromium.org/
8345039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9723
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 20 Oct 2011 12:27:10 +0000 (12:27 +0000)]
Shave 39% from snapshot size.
Review URL: http://codereview.chromium.org/
8344079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9722
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 20 Oct 2011 11:40:16 +0000 (11:40 +0000)]
Switch UnreachableObjectsFilter to use Marking instead of InstrusiveMarking.
GcSafeFindCodeForInnerPointer does not work with intrusive marking now and it is used when roots are iterated.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8342037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9721
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 20 Oct 2011 10:26:45 +0000 (10:26 +0000)]
Speed up comparison with a constant.
Improve optimized code for comparison of an int32 against a constant, or comparison of two double constants. Contributed by m.m.capewell.
Original codereview is http://codereview.chromium.org/
7489045/.
This cl is just created in order to commit the change.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8352040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9718
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00