Commit Graph

10126 Commits

Author SHA1 Message Date
verwaest@chromium.org
a3dccd15b0 Don't ignore the actual input representation in UnaryMathOperations
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16035014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 09:11:33 +00:00
verwaest@chromium.org
cb3645fee9 Infer the range of Math.abs
R=jkummerow@chromium.org, svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16268009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 09:07:53 +00:00
yangguo@chromium.org
987080415e Remove use of Isolate::Current in regexp macro assemblers.
BUG=
R=hpayer@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16026020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 08:38:05 +00:00
dcarney@chromium.org
6ee35b3ed9 lint failure with latest depot_tools
BUG=
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15795006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 07:56:49 +00:00
adamk@chromium.org
0df3857005 Remove redudant deleted_count argument from EnqueueSpliceRecord
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16438010

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 19:15:40 +00:00
palfia@homejinni.com
72f7abb4c9 MIPS: Assign less environments.
Port r14983 (960d6de)

BUG=

Review URL: https://codereview.chromium.org/16567002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 18:59:11 +00:00
rossberg@chromium.org
372457a793 Allow smis for singleton types
To that end, introduce a generic Box struct.

R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16562003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 15:40:28 +00:00
yangguo@chromium.org
8165d49173 Do not GC prior to every parallel recompile.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/16410005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 15:32:39 +00:00
yangguo@chromium.org
82c0ea4b04 Fix bogus assertions for tracing and verify.
R=mstarzinger@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/15778012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 15:30:46 +00:00
wingo@igalia.com
cb0d146862 Add initial parser support for harmony iteration
This commit adds initial parser support for harmony iteration.
Specifically, it will parse:

  for (x of y) {}
  for (let x of y) {}
  for (var x of y) {}

The semantics are still unimplemented.

TEST=mjsunit/harmony/for-of-syntax
BUG=v8:2214
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/15300018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:38:26 +00:00
verwaest@chromium.org
1b4cb2aac4 Assign less environments
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16556002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:31:44 +00:00
verwaest@chromium.org
16199c63d8 Initialized representations of computed values to None.
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14721009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:21:35 +00:00
ulan@chromium.org
27d01cf8b2 Prepare push to trunk. Now working on version 3.19.11.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/16473005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:13:44 +00:00
rossberg@chromium.org
919d64adce Add type field to AST expression nodes
More importantly, do a bunch of renamings of incidental existing "types" to avoid actual and potential name clashes (and also to improve consistency).

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16549002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 13:28:22 +00:00
mvstanton@chromium.org
701f356bac Move runtime array constructor functions from builtins.cc to runtime.cc.
Not only is runtime.cc a better location, but situations arise soon where we'll
want to make runtime calls to these functions.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16399007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 13:22:42 +00:00
dcarney@chromium.org
6f5d899248 add function to test whether string contents are definitely one byte
R=yangguo@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16530003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 13:16:52 +00:00
ulan@chromium.org
87b2f01873 Revert "Make more GCs in idle notification handler." because of performance
regression.

R=jkummerow@chromium.org
BUG=246141

Review URL: https://chromiumcodereview.appspot.com/15864010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 12:24:05 +00:00
mstarzinger@chromium.org
9b21eb910e Fix TypedArray object printer output.
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/16545002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 12:05:22 +00:00
mvstanton@chromium.org
8ff86a6998 Fix Android build issue 247303
ARM v7 support isn't available in the android build snapshot.

BUG=247303
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/16364007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 11:58:02 +00:00
mstarzinger@chromium.org
232f8d9865 Fix TypedArray error for parameterless constructor.
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/16542002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 11:37:40 +00:00
rodolph.perfetta@gmail.com
e19a55df0d RegExp macro assembler clean up.
Removes never called methods and fix a bug on ARM.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/16280005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 10:17:07 +00:00
mvstanton@chromium.org
a9a80fb422 Allocation type info advice consumed in bailout path leads to assert failure.
If the runtime is taken for a constructor like "new Array(100000)", where
allocation site info already led to an elements kind of DOUBLE, then the runtime
would fail to transition the array to dictionary mode. Better to recognize this
case and avoid wasting time by following the advice. Furthermore, it offers a
way to recognize that the array should be in dictionary mode (though a future
checkin will capitalize on that).

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/15993012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 09:26:30 +00:00
danno@chromium.org
f6caad4b6b Fix EntryHookStub on ia32 and x64.
These stubs were computing the return address location incorrectly.
Add testing for same.

R=danno@chromium.org

Review URL: https://codereview.chromium.org/15769017

Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 21:02:29 +00:00
palfia@homejinni.com
b8714d72d1 MIPS: Add LoadIC_Slow builtin and use it for loading properties from primitive values.
Port r14950 (12748bb)

Original commit message:
This fixes recent performance regressions on Dromaeo.

BUG=chromium:242512

Review URL: https://codereview.chromium.org/16452011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 17:52:44 +00:00
verwaest@chromium.org
8bd4199fdd Don't force representations in the loop builder.
Additionally, infer None-typed CompareIDAndBranch to Smi+actual input.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16365004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 17:24:14 +00:00
palfia@homejinni.com
b556dc962c MIPS: Fix LStoreKeyed error when tracing instruction.
Port r14951 (01dbfe2)

Original commit message:
LStoreKeyed can have a NULL value(), when we recognize we are storing a constant
hole value.

BUG=

Review URL: https://codereview.chromium.org/16171019
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 16:45:19 +00:00
palfia@homejinni.com
299563520a MIPS: Adapt hydrogen-based Array constructor to also support InternalArray and function call versions.
Port r14948 (1c2f28c)

BUG=

Review URL: https://codereview.chromium.org/16407004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 16:06:38 +00:00
rossberg@chromium.org
9e8279e952 New unified type representation
Not used yet, only unit tests.

R=jkummerow@chromium.org, svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16154027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 15:43:53 +00:00
yangguo@chromium.org
55c8294e05 Cosmetic change to the handle dereference check.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/16171017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 15:35:14 +00:00
verwaest@chromium.org
2d773e9448 Prepare push to trunk. Now working on version 3.19.10.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/16379010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 13:38:28 +00:00
dcarney@chromium.org
33dabf08f9 Cutover v8 to use new style callbacks internally
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15793007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 12:36:33 +00:00
mvstanton@chromium.org
e792ae1fcc Fix LStoreKeyed error when tracing instruction.
LStoreKeyed can have a NULL value(), when we recognize we are storing a constant
hole value.

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/15793006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 12:09:02 +00:00
jkummerow@chromium.org
2272aa71d9 Add LoadIC_Slow builtin and use it for loading properties from primitive values.
This fixes recent performance regressions on Dromaeo.

BUG=chromium:242512
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/16226024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 11:12:49 +00:00
jkummerow@chromium.org
4a70dcf530 Use HSoftDeoptimize instead of HDeoptimize in VisitSwitchStatement, and visit the entire graph
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15929010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 11:05:45 +00:00
mvstanton@chromium.org
56f3337ebc Adapt hydrogen-based Array constructor to also support InternalArray and function call
versions.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/14576005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 10:43:18 +00:00
yangguo@chromium.org
bca226d3e6 Free PerThreadAssertData when possible to avoid memory leak.
R=svenpanne@chromium.org
BUG=246567

Review URL: https://chromiumcodereview.appspot.com/16093024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 09:41:24 +00:00
verwaest@chromium.org
5e8679beea Remove the optimized construct stub.
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15993016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 08:43:25 +00:00
adamk@chromium.org
de92d0b0e0 Array.observe emit splices for array length change and update index >= length
R=adamk@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/15504002

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 23:58:49 +00:00
palfia@homejinni.com
70ce03c19d MIPS: Turn off allocation site info for crankshafted array constructor calls.
Port r14934 (dbddd7e)

Original commit message:
Once we crankshaft a method, we should turn off allocation site info for
constructed arrays. Additionally, the semantics for doing this were
awkward because the constructed array code stubs get an
AllocationSiteMode as a minor key, but it's used as a permission to
determine the final mode locally based on ElementsKind. I refactored
this to a simpler boolean for override or local control.

BUG=

Review URL: https://codereview.chromium.org/16226020
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 20:17:22 +00:00
palfia@homejinni.com
74a06647cc MIPS: Deprecate FACTORY helper macro.
Port r14931 (a914442)

Original commit message:
This removes the FACTORY helper macro to avoid accidental TLS access
when using the factory. Most internal code has access to the Isolate by
now whereas tests which are not performance critical still heavily use
TLS access through explicit Isolate::Current() calls.

BUG=

Review URL: https://codereview.chromium.org/15994011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 20:14:37 +00:00
palfia@homejinni.com
fdc46eea7a MIPS : Collect type feedback for power-of-2 right operands in BinaryOps.
Port r14928 (a2e0e18)

Original commit message:
Improved --trace-ic output for unary/binary ops a bit on the way. Moved int32_t/uint32_t conversion helpers around.

BUG=

Review URL: https://codereview.chromium.org/16361004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 20:11:16 +00:00
mstarzinger@chromium.org
be243df7ca Prevent excessive processing of weak maps while marking.
This makes sure processing of Harmony weak maps is only triggerd twice
during a mark-compact collection. Note that the processing itself still
is a fix-point iteration with quadratic worst-case time.

R=hpayer@chromium.org
BUG=v8:2699

Review URL: https://codereview.chromium.org/16286018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 17:20:06 +00:00
verwaest@chromium.org
95cd146359 Fix win build
BUG=
R=hpayer@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15934019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 17:15:32 +00:00
jkummerow@chromium.org
20cedf9a4b Liveness analysis for environment slots in Hydrogen
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/15533004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 16:41:24 +00:00
verwaest@chromium.org
00addf5adc Replace log2 with MostSignificantBit
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15994015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 15:39:56 +00:00
dcarney@chromium.org
2380eff265 Remove V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
Blink has migrated to use the new style visitors.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16360005

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 13:36:18 +00:00
hpayer@chromium.org
599511d0c0 Added pretenuring support for call new.
BUG=
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/16226012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 13:20:13 +00:00
mvstanton@chromium.org
8a02fd3be3 Turn off allocation site info for crankshafted array constructor calls.
Once we crankshaft a method, we should turn off allocation site info for
constructed arrays. Additionally, the semantics for doing this were
awkward because the constructed array code stubs get an
AllocationSiteMode as a minor key, but it's used as a permission to
determine the final mode locally based on ElementsKind. I refactored
this to a simpler boolean for override or local control.

BUG=
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/16206007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 12:48:51 +00:00
verwaest@chromium.org
277ec5d7b2 Infer the range of XOR as limited by the highest possible changed bit.
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16361003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 12:26:39 +00:00
yurys@chromium.org
106a477443 CPU profiler should support names of accessors set via v8::Object::SetAccessor
This change fixes the case when the accessors are invoked from JSObject::{Get,Set}PropertyWithCallback.

It already works for inlined calls generated by StoreStubCompiler::CompileStoreCallback. The same still needs to be fixed for getter invocations generated by  BaseLoadStubCompiler::CompileLoadCallback, corresponding case is commented out in the new test.

This is a slightly modified version of r14915 which was rolled back due to test timeout on Windows. Compared to r14915 the new tests use OS::TimeCurrentMillis instead of OS::Ticks as OS::Ticks has ms precision on Windows and trying to wait 10 ticks (us) will result in at least 1 ms pause.

BUG=244580
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/15995017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 10:57:32 +00:00
mstarzinger@chromium.org
f8db2414f2 Deprecate FACTORY helper macro.
This removes the FACTORY helper macro to avoid accidental TLS access
when using the factory. Most internal code has access to the Isolate by
now whereas tests which are not performance critical still heavily use
TLS access through explicit Isolate::Current() calls.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16337005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 10:30:05 +00:00
mstarzinger@chromium.org
d7975dfdab Deprecate HAllocateObject in favor of HAllocate.
This models the instantiation of an implicit receiver for CallNew nodes
in hydrogen using HAllocate together with generic stores instead of one
specialized HAllocateObject instruction, hence creating a single choking
point for inlined allocation in optimized code.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/15714005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 08:28:33 +00:00
yangguo@chromium.org
b10a3abdfe Revert accidental change to SealHandleScope.
R=dslomov@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/16226007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 08:06:53 +00:00
svenpanne@chromium.org
b9e025a8dc Collect type feedback for power-of-2 right operands in BinaryOps.
Improved --trace-ic output for unary/binary ops a bit on the way. Moved int32_t/uint32_t conversion helpers around.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/15735005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 07:49:45 +00:00
verwaest@chromium.org
179ac2cd0c Improve smi support in crankshaft
- Recover smi in phis if inputs are smi-typed
- Don't record smi-typed values as pointers

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16240003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 16:57:36 +00:00
yangguo@chromium.org
99dfe8753a Fix windows build.
R=rossberg@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/15927012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 16:01:51 +00:00
rossberg@chromium.org
8b936d07fc Prepare push to trunk. Now working on version 3.19.9.
R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16140010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 15:43:11 +00:00
yangguo@chromium.org
7f8a3d803c Make assertion scopes thread safe.
R=svenpanne@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/15691017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 15:32:22 +00:00
danno@chromium.org
5344161ee6 Revert 14916: Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
Revert 14915: CPU profiler should support names of accessors set via v8::Object::SetAccessor

Due to Windows failures

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/16335005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 15:25:28 +00:00
mvstanton@chromium.org
3d3c6b1599 Special Array constructor type feedback erroneously recorded when Array
was called as a function. Issue was found with optimize_constructed_array
turned on. This patch makes the fix, and turns the flag back on.

BUG=244461
R=danno@chromium.org

Review URL: https://codereview.chromium.org/16057005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 14:46:23 +00:00
yurys@chromium.org
710c245a41 CPU profiler should support names of accessors set via v8::Object::SetAccessor
This change fixes the case when the accessors are invoked from JSObject::{Get,Set}PropertyWithCallback.

It already works for inlined calls generated by StoreStubCompiler::CompileStoreCallback. The same still needs to be fixed for getter invocations generated by  BaseLoadStubCompiler::CompileLoadCallback, corresponding case is commented out in the new test.

BUG=244580
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/16004007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 12:50:03 +00:00
dcarney@chromium.org
7d55c16389 remove V8_ALLOW_ACCESS_TO_PERSISTENT_IMPLICIT and V8_ALLOW_ACCESS_TO_PERSISTENT_ARROW
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15979014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 10:02:02 +00:00
yurys@chromium.org
880934b1a8 Remove unnecessary check from Logger::LogCodeObject
Logger::LogCodeObjects is the only caller of the method. And all its
call sites check for at least one of the coditions before calling
LogCodeObjects. So there is no need to check it again.

BUG=None
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/15980007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 09:46:32 +00:00
verwaest@chromium.org
7956992448 Remove unnecessary code from the json-parser.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16306005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 09:08:00 +00:00
dcarney@chromium.org
595d0ea8b0 remove old MakeWeak
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16160010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 08:17:04 +00:00
yurys@chromium.org
f6499289f6 Simulator specific code that is the same on all platforms as well as TickSample instance retrieval extracted into SampleHelper class.
Drive-by: extracted platform-independent pieces of Sampler::PlatformData into PlatformDataCommon.

BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15957005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 07:52:08 +00:00
verwaest@chromium.org
6f5d9f9af2 Move field index into property details, freeing up the value slot of fields.
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15941016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 19:11:09 +00:00
jkummerow@chromium.org
b4058a3bd4 Fast literals: fixed initialization of non-copied in-object property fields
BUG=chromium:245424
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16190008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 15:50:19 +00:00
yurys@chromium.org
a5c629cc11 Fix function name inferring inside closures
BUG=224884
R=loislo@chromium.org, yangguo@chromium.org

Review URL: https://codereview.chromium.org/16125007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 12:52:28 +00:00
mstarzinger@chromium.org
b8154d9353 Fix non-idempotent modification in JSObject::AddFastProperty.
R=verwaest@chromium.org
BUG=mozilla/ecma/Array/15.4.5.2-2

Review URL: https://codereview.chromium.org/15955010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 11:58:39 +00:00
rossberg@chromium.org
3718dae502 Prepare push to trunk. Now working on version 3.19.8.
R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15959021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 11:38:36 +00:00
verwaest@chromium.org
d0d7619d09 Remove duplicated initialization of stack_parameter_count_ of hydrogen stub descriptor.
R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16097004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 10:48:37 +00:00
verwaest@chromium.org
5b08a1a119 Fix DeferredTaggedToINoSSE2 to not unconditionally untag undefined to 0.
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16228002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 08:37:34 +00:00
palfia@homejinni.com
794a10cbd8 MIPS: Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan
Port r14894 (0ca991f0)

BUG=

Review URL: https://codereview.chromium.org/15713017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 22:30:00 +00:00
verwaest@chromium.org
1a4a904bef Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15952007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 09:11:06 +00:00
palfia@homejinni.com
6c21d125d4 MIPS: Convert ToBooleanStub to a HydrogenStub. Currently just using the existing HBranch instruction, which is still fully implemented in Lithium. Will refactor HBranch in a next CL.
Port r14886 (068e9135)

BUG=

Review URL: https://codereview.chromium.org/15664008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:24:45 +00:00
palfia@homejinni.com
4e5de4ea03 MIPS: Fix AccessArgumentsAt on ARM. Use register for index.
Port r14885 (63dd99b)

BUG=

Review URL: https://codereview.chromium.org/16215002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:23:54 +00:00
palfia@homejinni.com
d16aa0bc6d MIPS: Update ASSERT on arm to support SmiOrTagged in ClampToUint8
Port r14881 (0b784159)

BUG=

Review URL: https://codereview.chromium.org/15769005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:23:04 +00:00
palfia@homejinni.com
ec32721a0a MIPS: Don't explicitly pass requested representations to constants; implement ConstantS
Port r14874 (e93cc94e)

BUG=

Review URL: https://codereview.chromium.org/15731008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-30 01:22:04 +00:00
plind44@gmail.com
4ee5e29b94 Prevent segfault if file cannot be opened when --ll_prof is used.
TEST=

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/16107002

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 19:45:19 +00:00
adamk@chromium.org
09c489ea93 Re-land: Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice
Original issue: https://codereview.chromium.org/15331002/

Broke mozilla/js1_5/Array/regress-451483.js, which ends up attempting to call %IsObserved() on a non-object.

IsObserved now checks for JSReceiver and returns false rather than crashing.

R=adamk@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/15777007

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 17:26:05 +00:00
mstarzinger@chromium.org
e8e2491c5a Handlify map allocation in Genesis::InstallInternalArray.
R=dcarney@chromium.org
TEST=mozilla/js1_5/Regress/regress-367561-01

Review URL: https://codereview.chromium.org/15690018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 15:38:09 +00:00
olivf@chromium.org
88755fb22a Convert ToBooleanStub to a HydrogenStub. Currently just using the existing HBranch instruction, which is still fully implemented in Lithium. Will refactor HBranch in a next CL.
[
CL breaks mips, since the deoptimizer in Deoptimizer::DoTranslateCommand(...) does not convert smis passed to the stub via a0.
]

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/15302004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 14:49:28 +00:00
verwaest@chromium.org
9828a49b11 Fix AccessArgumentsAt on ARM. Use register for index.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15690009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:48:06 +00:00
svenpanne@chromium.org
7bfe1436d3 Improve range analysis for modulo operations.
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15952004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:42:04 +00:00
yurys@chromium.org
09959efe41 Add support for //# sourceURL similar to deprecated //@ sourceURL one.
BUG=v8:2702
R=yangguo@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/15859010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:40:21 +00:00
mstarzinger@chromium.org
39e9a9030d Make sure IfBuilder::Return clears the current block.
This is a follow-up to an earlier bugfix. It doesn't yet trigger any
known bugs but is a safety precaution since IfBuilder usage increases.

R=jkummerow@chromium.org
BUG=chromium:243868

Review URL: https://codereview.chromium.org/15832005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:36:41 +00:00
verwaest@chromium.org
2e21ff6768 Update ASSERT on arm to support SmiOrTagged in ClampToUint8
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15832004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:20:32 +00:00
yurys@chromium.org
665c644940 Fix two CPU profiler tests on ARM and MIPS simulators
Use Simulator::get_pc instead of Simulator::get_register(pc) as the latter
will return value adjusted by Instruction::kPCReadOffset.

BUG=v8:2628
R=loislo@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16154004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:09:03 +00:00
ulan@chromium.org
fed3dad224 Make more GCs in idle notification handler.
When counting GCs in idle round, count only GC that were directly triggered by the idle notification handler.

R=hpayer@chromium.org
BUG=241815

Review URL: https://chromiumcodereview.appspot.com/15737007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:44:54 +00:00
ulan@chromium.org
1b80e82f7b Fix counting of scanned bytes in incremental marking step for large object.
R=mstarzinger@chromium.org
BUG=241815

Review URL: https://chromiumcodereview.appspot.com/15745004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:13:59 +00:00
mstarzinger@chromium.org
bc9bc0de1a Fix handle zapping interaction with NoHandleAllocation.
This makes sure that closed handle scopes are properly zapped even if an
enclosing NoHandleAllocation shrunk the limit. It also unifies the code
that performs scope closing for internal and external handle scopes.

R=svenpanne@chromium.org
TEST=cctest/test-api/NestedLockersNoTryCatch

Review URL: https://codereview.chromium.org/16004006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:09:01 +00:00
verwaest@chromium.org
7d32e7451f Don't explicitly pass requested representations to constants; implement ConstantS
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15932011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 10:47:55 +00:00
verwaest@chromium.org
9b6aa9568d Don't explicitly pass the Smi-representation to IfCompare.
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15891006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 09:55:50 +00:00
dcarney@chromium.org
f16ebc61c9 Delete old GC related APIs.
Blink doesn't use them any more, and they have no other known users either.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16124004

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:52:01 +00:00
dcarney@chromium.org
515aec2014 Transforming PersistentHandleVisitor to not need to copy Persistent handles.
This gets rid of more places where Persistent handles are copied
(see crbug.com/236290 ).

Transition plan: after this CL, Blink will be modified to work both with and
without the #define, then the #define will be removed from V8.

The corresponding Blink side changes are in https://codereview.chromium.org/15670010/ .

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15974006

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:48:37 +00:00
dcarney@chromium.org
fec64cd698 remove most remaining V8_ALLOW_ACCESS_TO* defines
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15994003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:39:37 +00:00
dcarney@chromium.org
7b82ad9b98 de-isolate remaining persistent calls
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16153003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:32:45 +00:00
palfia@homejinni.com
0a6ad3737d MIPS: Update the gap resolver to support Smi constants.
Port r14850 (787f0941)

BUG=

Review URL: https://codereview.chromium.org/16146005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 21:37:57 +00:00
palfia@homejinni.com
c5d0215e08 MIPS: Added old data space allocation infrastructure for pretenuring.
Port r14843 (2d8faca3)

BUG=

Review URL: https://codereview.chromium.org/16155006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 21:37:03 +00:00
palfia@homejinni.com
041257e549 MIPS: Support Smi in CompareIDAndBranch
Port r14842 (1c8d7430)

BUG=

Review URL: https://codereview.chromium.org/15917012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 21:36:03 +00:00
jkummerow@chromium.org
cbdf760ef8 Disable --optimize-constructed-arrays due to crashes
BUG=chromium:244461
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15766005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 18:46:23 +00:00
jkummerow@chromium.org
27587d0960 Prepare push to trunk. Now working on version 3.19.7.
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16096003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 16:53:35 +00:00
mstarzinger@chromium.org
3b114cdd64 Fix IfBuilder::Deopt to clear the current block.
R=jkummerow@chromium.org
BUG=chromium:243868
TEST=mjsunit/regress/regress-crbug-243868

Review URL: https://codereview.chromium.org/16155003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 15:30:49 +00:00
verwaest@chromium.org
8276673a73 Only allow non-double if the observed representations are int32.
R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15988005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 13:28:59 +00:00
rossberg@chromium.org
ecb6bd2718 Revert "Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice"
This reverts commit r14846.

Broke Mozilla test (see http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/3608/steps/Mozilla/logs/stdio), e.g.:

=== mozilla/js1_5/Array/regress-451483 ===
--- stdout ---
BUGNUMBER: 451483
STATUS: [].splice.call(0) == []
/mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/regress-451483.js:57: illegal access
  var result = [].splice.call(0);
                         ^
Command: /mnt/data/b/build/slave/v8-linux-shared/build/v8/out/Release/d8 --test --nobreak-on-abort --nodead-code-elimination --nofold-constants --expose-gc /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/mozilla-shell-emulation.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/regress-451483.js

TBR=rafaelw@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16150003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 13:00:53 +00:00
verwaest@chromium.org
290909268a Update the gap resolver to support Smi constants.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15664005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 12:37:29 +00:00
rossberg@chromium.org
e8775db3ad Re-enable freezing of Object.observe changeRecords now that freezing is faster.
Review URL: https://codereview.chromium.org/15898004

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:34:31 +00:00
rossberg@chromium.org
6fa987193e Make (Object.)observed Arrays use SafeRemoveArrayHoles during sort
R=adamk,rossberg
BUG=

Review URL: https://codereview.chromium.org/15837006

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:23:59 +00:00
rossberg@chromium.org
c06dc9d010 Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice
R=rossberg,adamk,arv
BUG=

Review URL: https://codereview.chromium.org/15331002

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:16:02 +00:00
hpayer@chromium.org
44fd249cd2 Refacturing BuildEmitDeepCopy.
BUG=

Review URL: https://codereview.chromium.org/15700007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 10:44:21 +00:00
dcarney@chromium.org
eecc9ff8f1 remove use of context scope with persistent argument
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15837007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 10:36:21 +00:00
hpayer@chromium.org
5b469a6f41 Added old data space allocation infrastructure for pretenuring.
BUG=

Review URL: https://codereview.chromium.org/16099004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 09:38:28 +00:00
verwaest@chromium.org
cf9b1170d1 Support Smi in CompareIDAndBranch
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16134003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 09:24:39 +00:00
verwaest@chromium.org
f98ee1a223 Tag smi-constants as smi.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16010004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 08:00:42 +00:00
yurys@chromium.org
9974d932b2 Deprecate profiler methods that accept security origin
Now that the only known client console.profiles was removed from Blink:
https://src.chromium.org/viewvc/blink?revision=151136&view=revision
https://src.chromium.org/viewvc/blink?revision=151196&view=revision
this method can be deprecated and all the code that supports filtering
CPU profiles based on security origins can be later removed.

Drive-by fix: in line with CpuProfiler changes deprecated HeapProfiler::FindHeapSnapshot to reduce v8 API surface. FindHeapSnapshot may well be implemented based on existing GetSnapshotCount/GetSnapshot and it is only used in the tests.

BUG=None
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/16114002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 08:00:16 +00:00
verwaest@chromium.org
4fcaace0a9 Always deoptimize on undefined if a double value implicitly gets converted.
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16126002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 06:31:05 +00:00
palfia@homejinni.com
375014a64c MIPS: Fix the hole loading optimization.
Port r14829 (8fba0f34)

Original commit message:
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit   conversions from double the hole NaN -> tagged undefined).

BUG=

Review URL: https://codereview.chromium.org/16116002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 23:02:27 +00:00
palfia@homejinni.com
1bdec2bb76 MIPS: Tag smi-constants as smi. This also fixes code that copies holes into arrays.
Port r14814 (8a28ccfb)

BUG=

Review URL: https://codereview.chromium.org/16041005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 22:11:06 +00:00
verwaest@chromium.org
aa2444269b Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit
  conversions from double the hole NaN -> tagged undefined).

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16099006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 17:33:14 +00:00
palfia@homejinni.com
dd542a2bed MIPS: Fix unaligned address of double.
TEST=mjsunit/debug-evaluate-locals-optimized-double

BUG=

Review URL: https://codereview.chromium.org/14631016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 17:12:48 +00:00
palfia@homejinni.com
a5f949be2d MIPS: make isolate accessible from returnvalue
Port r14819 (1ee1db14)

BUG=

Review URL: https://codereview.chromium.org/16099003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 16:53:30 +00:00
rossberg@chromium.org
6fda4e4c28 Collect type feedback in separate pass and store it in AST
Notes:

- For now, just adds the missing type info fields to the AST nodes directly.
  I'd like to factor that out more nicely in a follow-up CL.

- All type feedback now is uniformly collected through AST nodes'
  RecordTypeFeedback functions. At some point, this logic should be moved
  out of ast.cc.

- The typing pass currently simulates the exact same conditions under
  which feedback was collected in Hydrogen before. That also should be
  made more generic in the future.

- Type information itself is unchanged. Making it more regular is
  yet more future work.

Some additional cleanups:

- Lifted out nested class ObjectLiteral::Property, to enable forward declaration.
- Moved around some auxiliary enums.

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14990014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 13:59:20 +00:00
titzer@chromium.org
0a4289618d Extract GlobalValueNumberer and helper classes from hydrogen.cc and move to hydrogen-gvn.cc.
BUG=

Review URL: https://codereview.chromium.org/16095004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:45:46 +00:00
palfia@homejinni.com
18320951b1 MIPS: Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.
Port r14816 (0485153d)

BUG=

Review URL: https://codereview.chromium.org/16035008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:39:01 +00:00
svenpanne@chromium.org
67927694e8 Prepare push to trunk. Now working on version 3.19.6.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/15838010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:19:49 +00:00
dcarney@chromium.org
81e5778718 make isolate accessible from returnvalue
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16021010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 11:50:08 +00:00
verwaest@chromium.org
9d3e7e5b81 Fix Object.freeze for objects with mixed accessors and data properties
The bug in the existing code was that it modified the |attributes|
local variable on its way through the loop in CopyUpToAddAttributes.
But that affected any properties updated after an accessor property.
The code now sets up a mask each time and applies that instead of
mutating |attributes|.

R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16051002

Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 10:56:27 +00:00
yangguo@chromium.org
3e41834721 Regexp parser: reset flag after scanning ahead for capture groups.
When the regexp pattern parser encounters an unbound reference to a
capturing group, it needs to scan ahead to decide whether it really
is a reference.  The scan advances to the end of the pattern string
and sets has_more_ to false, but fails to reset it to true so that
later on, parsing a character class wrongly fails.

R=ulan@chromium.org
BUG=v8:2690

Review URL: https://chromiumcodereview.appspot.com/15712006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 10:53:37 +00:00
verwaest@chromium.org
a64b7f926f Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15841007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 09:58:46 +00:00
verwaest@chromium.org
8fc2101ce0 Fix build
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15881004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 08:50:52 +00:00
verwaest@chromium.org
3cb8f95c91 Tag smi-constants as smi. This also fixes code that copies holes into arrays.
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15861009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 08:43:58 +00:00
palfia@homejinni.com
f2350072bd MIPS: Fix DIRECT_API_CALL_NEW and DIRECT_GETTER_CALL_NEW call.
This commit fixes the register usage of DIRECT_API_CALL_NEW
and DIRECT_GETTER_CALL_NEW:

* These functions expect arguments in a0-a1 and not in a1-a2
  as the and DIRECT_API_CALL and DIRECT_GETTER_CALL do.
* Fixes the simulator to expect *_NEW arguments in a0-a1.
* Adds more comment to simulator to better explain the
  register usage.

TEST=cctest/test-api/LoadICFastApi_DirectCall_GCMoveStub,cctest/test-api/SimpleCallback

BUG=

Review URL: https://codereview.chromium.org/15813005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-25 17:10:42 +00:00
palfia@homejinni.com
eaa793604f MIPS: Fix hole handling, and ensure smi representation is handled properly
Port r14807 (c26f44d6)

BUG=

Review URL: https://codereview.chromium.org/15821007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 20:20:08 +00:00
palfia@homejinni.com
eff0995922 MIPS: DummyUse if Representation::Tagged()+Type::Smi() to Representation::Smi()
Port r14802 (d4a53e02)

BUG=

Review URL: https://codereview.chromium.org/16019009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 20:19:18 +00:00
palfia@homejinni.com
4e9b4a7b59 MIPS: Replace tagged keys for fast access by smi, and use smi in boundscheck.
Port r14794 (05b08564)

BUG=

Review URL: https://codereview.chromium.org/15937009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 20:18:24 +00:00
olivf@chromium.org
2952a77d0b trace compare_nil_ic state in --trace-ic output
BUG=
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15735020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 15:20:48 +00:00
verwaest@chromium.org
2a28f53b18 Fix hole handling, and ensure smi representation is handled properly
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16013003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 13:40:02 +00:00
titzer@chromium.org
77f85fa0d3 Remove offset() and is_in_object() from hydrogen and lithium LoadNamedField and StoreNamedField and use the appropriate methods on HObjectAccess instead
BUG=

Review URL: https://codereview.chromium.org/15881003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:40:08 +00:00
svenpanne@chromium.org
b4cafa4e1a Prepare push to trunk. Now working on version 3.19.5.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/16002003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:34:41 +00:00
verwaest@chromium.org
eaec0b106f DummyUse if Representation::Tagged()+Type::Smi() to Representation::Smi()
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15778006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:30:24 +00:00
verwaest@chromium.org
c417df74f4 Update representation-from-uses to support smi.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15692004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 12:29:37 +00:00
olivf@chromium.org
7aa74c3dc5 fix some names in compare nil ic
The compare nil ic introduces a mechanism called lightweight miss. The
idea is to insert a direct call to the miss handler instead of going
through the deopt routine. This can be use for uninitialized stubs, to
directly jump to the runtime.

This cl
1. Cleans up naming
2. localizes the lightweight miss functionality on the only user (compare nil ic)
3. fixes DoCodegen, to actually call the correct method (uninitialized vs initialized)

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/15806005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 11:44:55 +00:00
yangguo@chromium.org
7c2a1346d6 Fix edge case in stack trace formatting.
Bug description: in strict mode, null as receiver is not implicitly converted
to the global object, so that when formatting the stack trace, the receiver of
the stack frame is null. The IS_OBJECT check returns true for null, but
%GetDataProperty expected a JSObject, which results in a failed RUNTIME_ASSERT.

R=mvstanton@chromium.org
BUG=237617

Review URL: https://chromiumcodereview.appspot.com/15670003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 11:33:46 +00:00
svenpanne@chromium.org
7c0f77a4a5 Make (most of) --trace-codegen available in release mode. Better output.
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15941004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 10:57:59 +00:00
verwaest@chromium.org
c9a22a3c8d Replace tagged keys for fast access by smi, and use smi in boundscheck.
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15763004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 08:52:35 +00:00
titzer@chromium.org
94b4240f5c Introduce ObjectAccess, which is used by LoadNamedField and StoreNamedField to denote what parts of an object are referred to by a given load or store. Refactor HGraphBuilder to use ObjectAccess, which removes the need to manually set GVN flags and simplifies the code as well.
Review URL: https://codereview.chromium.org/14284010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 08:38:21 +00:00
dcarney@chromium.org
91efd1e7d7 callback handler map not correctly populated by direct use of SetCallHandler
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15814005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 07:59:33 +00:00
palfia@homejinni.com
22a336c13e MIPS: Fix assert on ARM
Port r14781 (a3491cb7)

BUG=

Review URL: https://codereview.chromium.org/15952002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:11:33 +00:00
palfia@homejinni.com
8b8232e212 MIPS: Require smi for keyed store to smi.
Port r14779 (33d24080)

BUG=

Review URL: https://codereview.chromium.org/15889007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 01:10:23 +00:00