platform/upstream/v8.git
10 years agoFix error message wording when instanceof throws.
yangguo@chromium.org [Fri, 8 Nov 2013 11:45:56 +0000 (11:45 +0000)]
Fix error message wording when instanceof throws.

R=bmeurer@chromium.org
BUG=82797, v8:1593

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed build.
svenpanne@chromium.org [Fri, 8 Nov 2013 11:20:18 +0000 (11:20 +0000)]
Fixed build.

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse register allocator for context on x64.
yangguo@chromium.org [Fri, 8 Nov 2013 10:58:51 +0000 (10:58 +0000)]
Use register allocator for context on x64.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved dead function V8::FillHeapNumberWithRandom.
svenpanne@chromium.org [Fri, 8 Nov 2013 10:55:01 +0000 (10:55 +0000)]
Removed dead function V8::FillHeapNumberWithRandom.

Removed a useless test case along the way.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse nearlabel AFAP in lithium codegen
jkummerow@chromium.org [Fri, 8 Nov 2013 10:52:07 +0000 (10:52 +0000)]
Use nearlabel AFAP in lithium codegen

BUG=
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.23.2.
machenbach@chromium.org [Fri, 8 Nov 2013 09:10:19 +0000 (09:10 +0000)]
Prepare push to trunk.  Now working on version 3.23.2.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove unused ValueInfo struct
bmeurer@chromium.org [Fri, 8 Nov 2013 07:45:15 +0000 (07:45 +0000)]
Remove unused ValueInfo struct

BUG=
R=bmeurer@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Proper support for deopt_every_n_times option on the x64 and ARM architectures.
palfia@homejinni.com [Fri, 8 Nov 2013 00:47:34 +0000 (00:47 +0000)]
MIPS: Proper support for deopt_every_n_times option on the x64 and ARM architectures.

Port r17564 (b928ddeb)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Add new HSeqStringGetChar instruction.
palfia@homejinni.com [Thu, 7 Nov 2013 21:59:45 +0000 (21:59 +0000)]
MIPS: Add new HSeqStringGetChar instruction.

Port r17565 (dce7927c)

Original commit message:
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Turn Load/StoreGlobal into a handler.
plind44@gmail.com [Thu, 7 Nov 2013 20:11:18 +0000 (20:11 +0000)]
MIPS: Turn Load/StoreGlobal into a handler.

Port r17550 (3e0015e)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Refine CountOperation of FullCodeGen.
plind44@gmail.com [Thu, 7 Nov 2013 19:28:58 +0000 (19:28 +0000)]
MIPS: Refine CountOperation of FullCodeGen.

Port r17547 (a4b59e4)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow redirecting disassembly and deoptimization traces into a file.
vegorov@chromium.org [Thu, 7 Nov 2013 16:35:27 +0000 (16:35 +0000)]
Allow redirecting disassembly and deoptimization traces into a file.

This is controlled by two flags:

--redirect_code_traces
--redirect_code_traces_to=<filename>

When redirection is enabled but --redirect_code_traces_to is not specified traces are written to a file code-<pid>-<isolate>.asm. This mangling scheme matches hydrogen.cfg and allows easy discovery of compilation artifacts in a multi-V8 environment (e.g. when compilation is traced from inside Chromium).

D8 defines --redirect_code_traces_to=code.asm similar to hydrogen.cfg redirection.

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable concurrent osr when concurrent recompilation is disabled.
yangguo@chromium.org [Thu, 7 Nov 2013 16:25:20 +0000 (16:25 +0000)]
Disable concurrent osr when concurrent recompilation is disabled.

Also introduce a flag for a quick check that concurrency is on.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake HCapturedObjects non-deletable for DCE.
mstarzinger@chromium.org [Thu, 7 Nov 2013 16:07:19 +0000 (16:07 +0000)]
Make HCapturedObjects non-deletable for DCE.

R=jkummerow@chromium.org
BUG=v8:2987
TEST=mjsunit/regress/regress-2987

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSpeed up typed array constructors.
dslomov@chromium.org [Thu, 7 Nov 2013 14:56:40 +0000 (14:56 +0000)]
Speed up typed array constructors.
 - Avoid calls into ToPositiveInteger for valid cases of 'undefined' arguments.
  (Otherwise it calls into runtime).
 - Reduce the checks performed in case offset for TypedArrayFromArrayBuffer
  constructor is called with no offset argument.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix clang debug build.
yangguo@chromium.org [Thu, 7 Nov 2013 14:45:17 +0000 (14:45 +0000)]
Fix clang debug build.

BUG=
R=rafaelw@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd new HSeqStringGetChar instruction.
bmeurer@chromium.org [Thu, 7 Nov 2013 13:43:03 +0000 (13:43 +0000)]
Add new HSeqStringGetChar instruction.

This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.

BUG=v8:2990
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoProper support for deopt_every_n_times option on the x64 and ARM architectures.
jarin@chromium.org [Thu, 7 Nov 2013 13:09:48 +0000 (13:09 +0000)]
Proper support for deopt_every_n_times option on the x64 and ARM architectures.

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Add new HSeqStringGetChar instruction."
bmeurer@chromium.org [Thu, 7 Nov 2013 13:03:03 +0000 (13:03 +0000)]
Revert "Add new HSeqStringGetChar instruction."

This reverts commit r17562 for invalid usage of movw to load string
characters. Will reland with fix.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd new HSeqStringGetChar instruction.
bmeurer@chromium.org [Thu, 7 Nov 2013 12:59:35 +0000 (12:59 +0000)]
Add new HSeqStringGetChar instruction.

This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.

BUG=v8:2990
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify Runtime::SetObjectProperty
rafaelw@chromium.org [Thu, 7 Nov 2013 12:35:57 +0000 (12:35 +0000)]
Handlify Runtime::SetObjectProperty

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable stress-gc for memento-related test.
verwaest@chromium.org [Thu, 7 Nov 2013 12:20:45 +0000 (12:20 +0000)]
Disable stress-gc for memento-related test.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDefer allocation of constant literal properties.
mstarzinger@chromium.org [Thu, 7 Nov 2013 12:08:37 +0000 (12:08 +0000)]
Defer allocation of constant literal properties.

This moves building of constant properties and elements arrays for all
materialized literals into the compiler. The parser no longer allocates
while parsing ObjectLiteral and ArrayLiteral expressions.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse a fixed random seed per default.
svenpanne@chromium.org [Thu, 7 Nov 2013 12:01:26 +0000 (12:01 +0000)]
Use a fixed random seed per default.

To get back the old behavior, use "make randomseed=0 ...".

BUG=v8:1880,v8:2885
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCleanup stub-cache's obsolete ComputeLoad/Store interface.
verwaest@chromium.org [Thu, 7 Nov 2013 10:52:41 +0000 (10:52 +0000)]
Cleanup stub-cache's obsolete ComputeLoad/Store interface.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove DisallowHeapAllocation requirement now that the target() is cached on the IC.
verwaest@chromium.org [Thu, 7 Nov 2013 10:18:56 +0000 (10:18 +0000)]
Remove DisallowHeapAllocation requirement now that the target() is cached on the IC.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTurn Load/StoreGlobal into a handler.
verwaest@chromium.org [Thu, 7 Nov 2013 10:17:13 +0000 (10:17 +0000)]
Turn Load/StoreGlobal into a handler.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRefine CountOperation of FullCodeGen
haitao.feng@intel.com [Thu, 7 Nov 2013 09:34:52 +0000 (09:34 +0000)]
Refine CountOperation of FullCodeGen

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix y-umlaut to uppercase.
yangguo@chromium.org [Thu, 7 Nov 2013 09:08:34 +0000 (09:08 +0000)]
Fix y-umlaut to uppercase.

R=dcarney@chromium.org
BUG=v8:2984

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved useless getter/setter.
svenpanne@chromium.org [Thu, 7 Nov 2013 08:23:09 +0000 (08:23 +0000)]
Removed useless getter/setter.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRefactor loading a pointer and loading an integer64 into a register instructions...
haitao.feng@intel.com [Thu, 7 Nov 2013 08:14:27 +0000 (08:14 +0000)]
Refactor loading a pointer and loading an integer64 into a register instructions for X64

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRefactored ObjectSerializer::VisitFoo functions.
svenpanne@chromium.org [Thu, 7 Nov 2013 07:37:28 +0000 (07:37 +0000)]
Refactored ObjectSerializer::VisitFoo functions.

Tiny superficial cleanup to make the similarities more visible.
Removed a few useless assertions on the way.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix WIN64 build
svenpanne@chromium.org [Thu, 7 Nov 2013 07:17:57 +0000 (07:17 +0000)]
Fix WIN64 build

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove movq(Register, ExternalReference) into X64 MacroAssembler
haitao.feng@intel.com [Thu, 7 Nov 2013 02:08:53 +0000 (02:08 +0000)]
Move movq(Register, ExternalReference) into X64 MacroAssembler

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Improve implementation of HSeqStringSetChar.
plind44@gmail.com [Wed, 6 Nov 2013 23:52:37 +0000 (23:52 +0000)]
MIPS: Improve implementation of HSeqStringSetChar.

Port r17521 (c51c75e)

Original commit message:
This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.

A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).

Also improves the test case.

TEST=mjsunit/string-natives
BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Correct handling of arrays with callbacks in the prototype chain.
plind44@gmail.com [Wed, 6 Nov 2013 21:22:41 +0000 (21:22 +0000)]
MIPS: Correct handling of arrays with callbacks in the prototype chain.

Port r17525 (55b95f3)

Original commit message:
Our generic KeyedStoreIC doesn't handle the case when a callback is
set on array elements in the prototype chain of the object, nor do
we recognize that we need to avoid the monomorphic case if these
callbacks exist.

This CL addresses the issue by looking for dictionary elements in
the prototype chain on IC misses and crankshaft element store
instructions. When found, the generic IC is used. The generic IC is
changed to go to the runtime in this case too.

In general, keyed loads are immune from this problem because they
won't return the hole: discovery of the hole goes to the runtime where
the callback will be found in the prototype chain. Double array loads
in crankshaft can return the hole but only if the prototype chain is
unaltered (we will catch such alterations).

Includes the following patch as well (already reviewed by bmeurer):
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.

(Review URL for the ElementsTransitionAndStoreIC_Miss change:
https://codereview.chromium.org/26911007)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Landing https://codereview.chromium.org/40133004 for mnita@google.com." due...
verwaest@chromium.org [Wed, 6 Nov 2013 18:19:26 +0000 (18:19 +0000)]
Revert "Landing https://codereview.chromium.org/40133004 for mnita@google.com." due to test failures.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoLanding https://codereview.chromium.org/40133004 for mnita@google.com.
cira@chromium.org [Wed, 6 Nov 2013 17:27:31 +0000 (17:27 +0000)]
Landing https://codereview.chromium.org/40133004 for mnita@google.com.

Implements ES6 String.prototype.normalize method.

BUG=v8:2943
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.
TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd three string constants from parser to the root-set.
mstarzinger@chromium.org [Wed, 6 Nov 2013 17:05:50 +0000 (17:05 +0000)]
Add three string constants from parser to the root-set.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoChange test expectations for webkit/fast/js/object-slow-put and friends.
mvstanton@chromium.org [Wed, 6 Nov 2013 16:38:40 +0000 (16:38 +0000)]
Change test expectations for webkit/fast/js/object-slow-put and friends.

R=verwaest@chromium.org
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify ForceSetObjectProperty
rafaelw@chromium.org [Wed, 6 Nov 2013 16:32:47 +0000 (16:32 +0000)]
Handlify ForceSetObjectProperty

Note that I've left the layering as is to make the diffs clear. Is it worth moving ForceSetObjectProperty to objects.cc? This code is clearly implementing part of the DefineOrRedefine steps from the spec, but it's still odd that it lives in Runtime. Note that handles.cc exposes a ForceSetProperty which just performs a CALL_HEAP_FUNCTION on the Runtime::ForceSetObjectProperty -- which is exposed to the api as v8::Object::ForceSet

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnsure that typed array constructors are crankshaftable.
dslomov@chromium.org [Wed, 6 Nov 2013 16:28:38 +0000 (16:28 +0000)]
Ensure that typed array constructors are crankshaftable.

Also, do not allocate sub-closures for every call to typed array constructor.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAge ICs on context dispose notification.
yangguo@chromium.org [Wed, 6 Nov 2013 15:47:05 +0000 (15:47 +0000)]
Age ICs on context dispose notification.

R=ulan@chromium.org
BUG=309723

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCorrect handling of arrays with callbacks in the prototype chain.
mvstanton@chromium.org [Wed, 6 Nov 2013 15:45:43 +0000 (15:45 +0000)]
Correct handling of arrays with callbacks in the prototype chain.

Our generic KeyedStoreIC doesn't handle the case when a callback is
set on array elements in the prototype chain of the object, nor do
we recognize that we need to avoid the monomorphic case if these
callbacks exist.

This CL addresses the issue by looking for dictionary elements in
the prototype chain on IC misses and crankshaft element store
instructions. When found, the generic IC is used. The generic IC is
changed to go to the runtime in this case too.

In general, keyed loads are immune from this problem because they
won't return the hole: discovery of the hole goes to the runtime where
the callback will be found in the prototype chain. Double array loads
in crankshaft can return the hole but only if the prototype chain is
unaltered (we will catch such alterations).

Includes the following patch as well (already reviewed by bmeurer):
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.

(Review URL for the ElementsTransitionAndStoreIC_Miss change:
https://codereview.chromium.org/26911007)

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAnother fix for windows breakage after r17521.
bmeurer@chromium.org [Wed, 6 Nov 2013 13:42:00 +0000 (13:42 +0000)]
Another fix for windows breakage after r17521.

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix windows build after r17521.
bmeurer@chromium.org [Wed, 6 Nov 2013 13:20:14 +0000 (13:20 +0000)]
Fix windows build after r17521.

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImprove implementation of HSeqStringSetChar.
bmeurer@chromium.org [Wed, 6 Nov 2013 13:09:22 +0000 (13:09 +0000)]
Improve implementation of HSeqStringSetChar.

This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.

A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).

Also improves the test case.

TEST=mjsunit/string-natives
R=mstarzinger@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Object.observe] rename intrinsic change record types for consitency.
rafaelw@chromium.org [Wed, 6 Nov 2013 12:14:24 +0000 (12:14 +0000)]
[Object.observe] rename intrinsic change record types for consitency.

Note the spec now reflects the updated naming:

http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes

R=rossberg@chromium.org, rossberg
BUG=v8:2940

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert r17152 - "Revert r17018 - "Turn on handle zapping for release builds""
jochen@chromium.org [Wed, 6 Nov 2013 12:13:01 +0000 (12:13 +0000)]
Revert r17152 - "Revert r17018 - "Turn on handle zapping for release builds""

Apparently, this wasn't the cause for dromaeo regressions.

> BUG=none
> R=jkummerow@chromium.org
>
> Review URL: https://codereview.chromium.org/26457002

R=verwaest@chromium.org, jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.23.1.
verwaest@chromium.org [Wed, 6 Nov 2013 12:01:03 +0000 (12:01 +0000)]
Prepare push to trunk.  Now working on version 3.23.1.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd support for tracking NotExectuted/ExecutedOnceCodeAge's when --track_gc_object_st...
mstarzinger@chromium.org [Wed, 6 Nov 2013 09:29:09 +0000 (09:29 +0000)]
Add support for tracking NotExectuted/ExecutedOnceCodeAge's when --track_gc_object_stats flag is set.

BUG=None
R=mstarzinger@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd isolate parameter to SetResourceConstraints, and deprecate version which depends...
bmeurer@chromium.org [Wed, 6 Nov 2013 06:59:32 +0000 (06:59 +0000)]
Add isolate parameter to SetResourceConstraints, and deprecate version which depends on current isolate.

BUG=None
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Avoid using dd() in Prologue when --optimize-for-size.
plind44@gmail.com [Tue, 5 Nov 2013 20:48:35 +0000 (20:48 +0000)]
MIPS: Avoid using dd() in Prologue when --optimize-for-size.

Port: r17485 (0d82025)

Original commit message:
When --optimize-for-size is true, the prologue generation outputs the
pre-aging code stub address directly to the instruction stream. Previously
this was done using dd() which failed if there was any pending constant
pool entries left to be written. This CL introduces an emit_code_stub_address()
for this purpose instead.

BUG=v8:2968

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Try to use Push instead of push sequences whenever possible.
plind44@gmail.com [Tue, 5 Nov 2013 19:56:40 +0000 (19:56 +0000)]
MIPS: Try to use Push instead of push sequences whenever possible.

Port r17466 (e519285)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark flaky test on windows.
machenbach@chromium.org [Tue, 5 Nov 2013 19:29:58 +0000 (19:29 +0000)]
[Sheriff] Mark flaky test on windows.

It was marked as flaky on linux nosnap, arm and nacl before. Now it's marked universally flaky since windows joined the list.

BUG=v8:2921
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Use loop to initialize locals when optimizing for size.
plind44@gmail.com [Tue, 5 Nov 2013 17:52:47 +0000 (17:52 +0000)]
MIPS: Use loop to initialize locals when optimizing for size.

Port r17465 (9f3f3d1)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove unused IdempotentPointerToHandleCodeTrampoline
rafaelw@chromium.org [Tue, 5 Nov 2013 17:45:42 +0000 (17:45 +0000)]
Remove unused IdempotentPointerToHandleCodeTrampoline

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Handlify concat string and substring."
yangguo@chromium.org [Tue, 5 Nov 2013 15:36:15 +0000 (15:36 +0000)]
Revert "Handlify concat string and substring."

This reverts r17490.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove SetLocalPropertiesIgnoreAttributesTrampoline
rafaelw@chromium.org [Tue, 5 Nov 2013 15:33:14 +0000 (15:33 +0000)]
Remove SetLocalPropertiesIgnoreAttributesTrampoline

BUG=v8:2877
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd back assertion SetResourceConstraints.
svenpanne@chromium.org [Tue, 5 Nov 2013 14:24:57 +0000 (14:24 +0000)]
Add back assertion SetResourceConstraints.

This reverts commit f7f04272208d565020b528145ce6cef0f89c7079.

BUG=312233
R=svenpanne@chromium.org

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

Patch from Ross Mcilroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimplified Assembler::target_pointer_address_at.
svenpanne@chromium.org [Tue, 5 Nov 2013 14:22:12 +0000 (14:22 +0000)]
Simplified Assembler::target_pointer_address_at.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd simple inline macros to js2c and use that for typed array constructors.
dslomov@chromium.org [Tue, 5 Nov 2013 14:08:03 +0000 (14:08 +0000)]
Add simple inline macros to js2c and use that for typed array constructors.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify concat string and substring.
yangguo@chromium.org [Tue, 5 Nov 2013 14:07:07 +0000 (14:07 +0000)]
Handlify concat string and substring.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove calls to SetLocalPropertyIgnoreAttributesTrampoline from accessors.cc
rafaelw@chromium.org [Tue, 5 Nov 2013 13:47:51 +0000 (13:47 +0000)]
Remove calls to SetLocalPropertyIgnoreAttributesTrampoline from accessors.cc

BUG=v8:2877
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Record allocation stack traces".
bmeurer@chromium.org [Tue, 5 Nov 2013 13:46:11 +0000 (13:46 +0000)]
Revert "Record allocation stack traces".

This reverts commit r17365 for memory corruption. The issues
are most probably related to storing a filler map without
checking the bump pointer first, and traversing the stack
when called from within a stub (or builtin), while the code
assumes that it's called from a JS function.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify Heap::AllocateFunctionPrototype method.
mstarzinger@chromium.org [Tue, 5 Nov 2013 13:34:14 +0000 (13:34 +0000)]
Handlify Heap::AllocateFunctionPrototype method.

R=rossberg@chromium.org
BUG=v8:2877

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeapProfiler: provide human readable names for code objects.
loislo@chromium.org [Tue, 5 Nov 2013 13:23:03 +0000 (13:23 +0000)]
HeapProfiler: provide human readable names for code objects.

It is very hard to understand the structure of the heap even for about:blank page
because code objects in the heap have no names. This patch propagates the names
for Code::STUB and Code::BUILTIN code objects.
Also it assign function names from SharedFunctionInfo to the code objects.

BUG=
R=alph@chromium.org, svenpanne@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAvoid using dd() in Prologue when --optimize-for-size.
machenbach@chromium.org [Tue, 5 Nov 2013 13:19:14 +0000 (13:19 +0000)]
Avoid using dd() in Prologue when --optimize-for-size.

When --optimize-for-size is true, the prologue generation outputs the
pre-aging code stub address directly to the instruction stream.  Previously
this was done using dd() which failed if there was any pending constant
pool entries left to be written.  This CL introduces an emit_code_stub_address()
for this purpose instead.

BUG=v8:2968
R=bmeurer@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCorrectly load message from an Error object.
yangguo@chromium.org [Tue, 5 Nov 2013 13:04:51 +0000 (13:04 +0000)]
Correctly load message from an Error object.

R=mstarzinger@chromium.org
BUG=306220

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify Heap::AllocateInitialMap method.
mstarzinger@chromium.org [Tue, 5 Nov 2013 12:32:03 +0000 (12:32 +0000)]
Handlify Heap::AllocateInitialMap method.

R=rossberg@chromium.org
BUG=v8:2877

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake Object.freeze/seal/preventExtensions observable
rafaelw@chromium.org [Tue, 5 Nov 2013 12:25:32 +0000 (12:25 +0000)]
Make Object.freeze/seal/preventExtensions observable

Note: spec has been updated here: http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes.

R=rossberg@chromium.org, rossberg
BUG=v8:2975,v8:2941

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce JSFunction::EnsureHasInitialMap method.
mstarzinger@chromium.org [Tue, 5 Nov 2013 12:11:27 +0000 (12:11 +0000)]
Introduce JSFunction::EnsureHasInitialMap method.

This change enforces explicit allocation of the initial map for each
JSFunction to introduce a proper layering between the JSFunction class
and the Heap class. A follow-up change will then handlify the two
functions AllocateInitialMap and AllocateFunctionPrototype.

R=rossberg@chromium.org
BUG=v8:2877

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce orps for IA32/X64
svenpanne@chromium.org [Tue, 5 Nov 2013 12:04:46 +0000 (12:04 +0000)]
Introduce orps for IA32/X64

BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd counters to track the maximum amount of memory committed by the heap.
ulan@chromium.org [Tue, 5 Nov 2013 11:59:42 +0000 (11:59 +0000)]
Add counters to track the maximum amount of memory committed by the heap.

BUG=None
R=bmeurer@chromium.org, ulan@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove calls to JSObject::SetLocalPropertyIgnoreAttributesTrampoline within objects.cc
rafaelw@chromium.org [Tue, 5 Nov 2013 11:47:11 +0000 (11:47 +0000)]
Remove calls to JSObject::SetLocalPropertyIgnoreAttributesTrampoline within objects.cc

This includes handlifing:
-SetHiddenPropertiesHashTable
-ObjectHashSet::Add/Remove
-ObjectHashTable::Put

And splitting the following methods which previously took "allow creation" enum arguments to into side-effect-free getters and GetOrCreate*-handlfied getters.

-GetHash (now GetHash & handlified GetOrCreateHash)
-GetIdentityHash (now GetIdentityHash & handlified GetOrCreateIdentityHash)
-GetHiddenPropertiesHashTable (now GetHiddenPropertiesHashTable & handlified GetOrCreateaHiddenPropertiesHashTable)

BUG=v8:2877
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Object.observe] Implement implicit notification from performChange
rafaelw@chromium.org [Tue, 5 Nov 2013 11:23:08 +0000 (11:23 +0000)]
[Object.observe] Implement implicit notification from performChange

R=arv@chromium.org, rossberg@chromium.org, rossberg
BUG=v8:2942

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoProper fix for the issue exposed by r17459
jkummerow@chromium.org [Tue, 5 Nov 2013 11:01:31 +0000 (11:01 +0000)]
Proper fix for the issue exposed by r17459

This reverts r17462 and instead fixes StubCache::ComputeLoadNonexistent by replacing s/IsGlobalObject/IsJSGlobalObject/ there.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake snapshots reproducible.
svenpanne@chromium.org [Tue, 5 Nov 2013 10:14:48 +0000 (10:14 +0000)]
Make snapshots reproducible.

To keep the structure of the serializer more or less untouched, we use
some ingenious Corry-approved(TM) 3-step technology (a.k.a. "hack"):

   * Create copies of code objects.
   * Wipe out all absolute addresses in these copies.
   * Write out the cleaned copies instead of the originals.

In conjunction with --random-seed, our snapshots are reproducible now.

BUG=v8:2885
R=bmeurer@chromium.org, erik.corry@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce raw accessors for type_feedback_info.
svenpanne@chromium.org [Tue, 5 Nov 2013 10:05:03 +0000 (10:05 +0000)]
Introduce raw accessors for type_feedback_info.

This pure refactoring is needed for another upcoming CL.

Note that the actual names are still a bit confusing, because this is
still a kind of swiss-army-knife-field. :-/

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoBump iteration count for escape analysis.
mstarzinger@chromium.org [Tue, 5 Nov 2013 09:58:49 +0000 (09:58 +0000)]
Bump iteration count for escape analysis.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove CreateArrayLiteralShallow, as it's fundamentally the same now as
mvstanton@chromium.org [Tue, 5 Nov 2013 09:54:59 +0000 (09:54 +0000)]
Remove CreateArrayLiteralShallow, as it's fundamentally the same now as
CreateArrayLiteral.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemoved RelocInfo::target_object_address() and reconstructed_obj_ptr_.
svenpanne@chromium.org [Tue, 5 Nov 2013 09:40:36 +0000 (09:40 +0000)]
Removed RelocInfo::target_object_address() and reconstructed_obj_ptr_.

Depends on https://codereview.chromium.org/46583006/ and has similar reasoning behind it.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix double-boxing issue when materializing captured objects.
mstarzinger@chromium.org [Tue, 5 Nov 2013 09:32:39 +0000 (09:32 +0000)]
Fix double-boxing issue when materializing captured objects.

R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis-representation

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRefactored EXTERNAL_REFERENCE handling.
svenpanne@chromium.org [Tue, 5 Nov 2013 09:22:35 +0000 (09:22 +0000)]
Refactored EXTERNAL_REFERENCE handling.

Previously, the result of target_reference_address() could only be
read, writing to it would have had an architecture-dependent effect,
e.g. writing into the code on ia32, a no-op on arm, etc.

This refactoring-only CL turns this into a simple getter, making it
impossible to use incorrectly.

More to come...

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTry to use STMDB/LDMIA instead of LDR/STR sequences whenever possible.
bmeurer@chromium.org [Tue, 5 Nov 2013 09:00:00 +0000 (09:00 +0000)]
Try to use STMDB/LDMIA instead of LDR/STR sequences whenever possible.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: Use loop to initialize locals when optimizing for size.
bmeurer@chromium.org [Tue, 5 Nov 2013 08:58:34 +0000 (08:58 +0000)]
ARM: Use loop to initialize locals when optimizing for size.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo Else() first for JoinContinuation() in IfBuilder.
bmeurer@chromium.org [Tue, 5 Nov 2013 08:56:48 +0000 (08:56 +0000)]
Do Else() first for JoinContinuation() in IfBuilder.

This is required to make sure that environments are correct
for joined continuations.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Handle constants in new space by making macro-assembler smarter.
plind44@gmail.com [Tue, 5 Nov 2013 01:31:22 +0000 (01:31 +0000)]
MIPS: Handle constants in new space by making macro-assembler smarter.

Port r17376 (9af4f51)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRestore intended LoadIC behavior for JSBuiltinsObject
jkummerow@chromium.org [Mon, 4 Nov 2013 16:39:58 +0000 (16:39 +0000)]
Restore intended LoadIC behavior for JSBuiltinsObject

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd missing negative dictionary lookup to NonexistentHandlerFrontend
jkummerow@chromium.org [Mon, 4 Nov 2013 14:14:09 +0000 (14:14 +0000)]
Add missing negative dictionary lookup to NonexistentHandlerFrontend

BUG=v8:2980
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove dead return path from JSObject::GetHiddenPropertiesHashTable.
mstarzinger@chromium.org [Mon, 4 Nov 2013 12:00:39 +0000 (12:00 +0000)]
Remove dead return path from JSObject::GetHiddenPropertiesHashTable.

R=verwaest@chromium.org, rafaelw@chromium.org
TEST=cctest/test-api

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix uint32-to-smi conversion in Lithium.
plind44@gmail.com [Thu, 31 Oct 2013 14:32:08 +0000 (14:32 +0000)]
MIPS: Fix uint32-to-smi conversion in Lithium.

Port r17441 (f1968f4)

BUG=chromium:309623
TEST=mjsunit/regress/regress-crbug-309623
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.23.0.
machenbach@chromium.org [Thu, 31 Oct 2013 13:29:35 +0000 (13:29 +0000)]
Prepare push to trunk.  Now working on version 3.23.0.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark failing test for nacl port.
machenbach@chromium.org [Thu, 31 Oct 2013 11:51:59 +0000 (11:51 +0000)]
[Sheriff] Mark failing test for nacl port.

BUG=v8:2978
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark flaky test.
machenbach@chromium.org [Thu, 31 Oct 2013 11:48:31 +0000 (11:48 +0000)]
[Sheriff] Mark flaky test.

BUG=v8:2921
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAvoid pre-aging when debugger is active
jkummerow@chromium.org [Thu, 31 Oct 2013 11:43:23 +0000 (11:43 +0000)]
Avoid pre-aging when debugger is active

BUG=None
R=bmeurer@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix uint32-to-smi conversion in Lithium
jkummerow@chromium.org [Thu, 31 Oct 2013 10:18:51 +0000 (10:18 +0000)]
Fix uint32-to-smi conversion in Lithium

BUG=chromium:309623
R=vegorov@google.com, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd no-variants option to test runner.
machenbach@chromium.org [Thu, 31 Oct 2013 10:14:02 +0000 (10:14 +0000)]
Add no-variants option to test runner.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo not remove HAdd with zero if the other operand is a double.
yangguo@chromium.org [Wed, 30 Oct 2013 10:22:52 +0000 (10:22 +0000)]
Do not remove HAdd with zero if the other operand is a double.

The other operand might be minus zero, and -0 + 0 = +0

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoia32: Fix comparisons of two constant double operands when exactly one of them is...
jkummerow@chromium.org [Tue, 29 Oct 2013 14:34:07 +0000 (14:34 +0000)]
ia32: Fix comparisons of two constant double operands when exactly one of them is in new space.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00