platform/upstream/v8.git
12 years agoDo checks when receiving external string resources through the API.
yangguo@chromium.org [Tue, 14 Aug 2012 12:16:38 +0000 (12:16 +0000)]
Do checks when receiving external string resources through the API.

This is to find incorrect API usage.

R=ulan@chromium.org
BUG=140050

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

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

12 years agoEnsure capacity when adding parts in String.replace.
yangguo@chromium.org [Tue, 14 Aug 2012 11:33:12 +0000 (11:33 +0000)]
Ensure capacity when adding parts in String.replace.

R=ulan@chromium.org
BUG=v8:2289
TEST=regress-2289.js

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

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

12 years agoPrevent segfault on undefined inline runtime call.
yangguo@chromium.org [Tue, 14 Aug 2012 10:06:34 +0000 (10:06 +0000)]
Prevent segfault on undefined inline runtime call.

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

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

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

12 years agoDisable array index dehoisting due to stability issues.
erik.corry@gmail.com [Tue, 14 Aug 2012 09:22:34 +0000 (09:22 +0000)]
Disable array index dehoisting due to stability issues.
Review URL: https://chromiumcodereview.appspot.com/10834303

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

12 years agoFix indexing bug in regexp, part 2.
yangguo@chromium.org [Mon, 13 Aug 2012 15:53:40 +0000 (15:53 +0000)]
Fix indexing bug in regexp, part 2.

The previous fix initialized the start index incorrectly.

BUG=

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

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

12 years agoRemove prototype of global builtins object.
mstarzinger@chromium.org [Mon, 13 Aug 2012 15:34:49 +0000 (15:34 +0000)]
Remove prototype of global builtins object.

R=yangguo@chromium.org
BUG=v8:2284
TEST=mjsunit/regress/regress-2284

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

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

12 years agoFix wrong indexing in global regexp.
yangguo@chromium.org [Mon, 13 Aug 2012 15:26:46 +0000 (15:26 +0000)]
Fix wrong indexing in global regexp.

R=ulan@chromium.org
BUG=142087

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

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

12 years agoCheck for function in %_CallFunction.
yangguo@chromium.org [Mon, 13 Aug 2012 12:11:26 +0000 (12:11 +0000)]
Check for function in %_CallFunction.

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

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

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

12 years agoSwapped transition array and descriptor array.
verwaest@chromium.org [Mon, 13 Aug 2012 08:43:16 +0000 (08:43 +0000)]
Swapped transition array and descriptor array.

Now a map points to a transition array which contains the descriptor array. The descriptor array is now immutable. The next step is to share the descriptor array with all back-pointed maps as long as there is a single line of extension. Maps that require a descriptor array but don't need transitions will still need a pseudo-empty transition array to contain the descriptor array.

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

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

12 years agoFix array-iteration test case.
yangguo@chromium.org [Mon, 13 Aug 2012 08:32:17 +0000 (08:32 +0000)]
Fix array-iteration test case.

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

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.1.
mstarzinger@chromium.org [Fri, 10 Aug 2012 14:41:52 +0000 (14:41 +0000)]
Prepare push to trunk.  Now working on version 3.13.1.

R=ulan@chromium.org

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

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

12 years agoFix compile failure on Win64 introduced in r12291.
mstarzinger@chromium.org [Fri, 10 Aug 2012 14:21:46 +0000 (14:21 +0000)]
Fix compile failure on Win64 introduced in r12291.

R=ulan@chromium.org

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

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

12 years agoFix intermittent failure in ReleaseOverReservedPages on x64.
erik.corry@gmail.com [Fri, 10 Aug 2012 13:45:22 +0000 (13:45 +0000)]
Fix intermittent failure in ReleaseOverReservedPages on x64.
BUG=v8:2216
Review URL: https://chromiumcodereview.appspot.com/10828253

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

12 years agoAdd histograms for total allocated/live heap size, as well as allocated size and...
mstarzinger@chromium.org [Fri, 10 Aug 2012 13:09:31 +0000 (13:09 +0000)]
Add histograms for total allocated/live heap size, as well as allocated size and percentage of total for map and cell

BUG=none
TEST=none
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10854043
Patch from Jochen Eisinger <jochen@chromium.org>.

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

12 years agoMIPS: Improve load IC so it can call a native accessor even if the holder is in dicti...
erik.corry@gmail.com [Fri, 10 Aug 2012 12:28:12 +0000 (12:28 +0000)]
MIPS: Improve load IC so it can call a native accessor even if the holder is in dictionary mode. Add a flag to all maps to indicate whether they are used for dictionary (normalized) objects or fast mode objects.  This is a commit of https://chromiumcodereview.appspot.com/10826213/ for palfia. This is a port of r12264, https://chromiumcodereview.appspot.com/10831153

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

12 years agoAllow multiple lines of custom flags in javascript tests.
yangguo@chromium.org [Fri, 10 Aug 2012 12:26:33 +0000 (12:26 +0000)]
Allow multiple lines of custom flags in javascript tests.

R=ulan@chromium.org
BUG=

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

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

12 years agoRevert inadvertent commit of testing change to flag-definitions.h
erik.corry@gmail.com [Fri, 10 Aug 2012 12:26:21 +0000 (12:26 +0000)]
Revert inadvertent commit of testing change to flag-definitions.h

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

12 years agoFix the full compiler on ARM to always generate the same code
erik.corry@gmail.com [Fri, 10 Aug 2012 12:24:06 +0000 (12:24 +0000)]
Fix the full compiler on ARM to always generate the same code
regardless of the detected CPU.  This is a requirement for the
debugger and the deoptimizer, which both expect that code from
the snapshot (compiled without VFP and ARM7) should have the
same layout as code compiled later.

This is another change to make snapshots more robust with
arbitrary code.
Review URL: https://chromiumcodereview.appspot.com/10824235

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

12 years agoInline simple setter calls.
svenpanne@chromium.org [Fri, 10 Aug 2012 09:05:42 +0000 (09:05 +0000)]
Inline simple setter calls.

Currently only simple setter calls are handled (i.e. no calls in count
operations or compound assignments), and deoptimization in the setter is not
handled at all. Because of the latter, we temporarily hide this feature behind
the --inline-accessors flag, just like inlining getters.

We now use an enum everywhere we depend on the handling of a return value,
passing around several boolean would be more confusing.

Made VisitReturnStatement and the final parts of TryInline more similar, so
matching them visually is a bit easier now.

Simplified the signature of AddLeaveInlined, the target of the HGoto can simply
be retrieved from the function state.

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

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

12 years agoRemove obsolete SLOT_ADDR macro usages.
mstarzinger@chromium.org [Thu, 9 Aug 2012 12:25:03 +0000 (12:25 +0000)]
Remove obsolete SLOT_ADDR macro usages.

R=yangguo@chromium.org

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

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

12 years agoUse the correct oracle in TestContext::BuildBranch.
svenpanne@chromium.org [Thu, 9 Aug 2012 11:44:56 +0000 (11:44 +0000)]
Use the correct oracle in TestContext::BuildBranch.

When inlining is being done, it is crucial to use the correct type feedback
oracle with a given type feedback ID. To ensure this, TestContext now carries an
oracle which is associated with the context's condition, and these are both used
together in TestContext::BuildBranch.

Note that in VisitReturnStatement and TryInline we are currently lucky that the
oracles don't go out of sync in an observable way, but this will change when we
inline setters. Therefore, there is no separate test case...

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

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

12 years agoMIPS: Improve constant element index access code generation
yangguo@chromium.org [Thu, 9 Aug 2012 08:41:56 +0000 (08:41 +0000)]
MIPS: Improve constant element index access code generation

Port r12232 (588ccf83)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10825263
Patch from Akos Palfi <palfia@homejinni.com>.

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

12 years agoMIPS: Refactor Math.min/max to be a single HInstruction.
yangguo@chromium.org [Thu, 9 Aug 2012 08:28:52 +0000 (08:28 +0000)]
MIPS: Refactor Math.min/max to be a single HInstruction.

Port r12265 (7501dd73)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10854053
Patch from Akos Palfi <palfia@homejinni.com>.

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

12 years agotools/push-to-trunk.sh: Add a check whether grepping for the just-committed SVN revis...
jkummerow@chromium.org [Wed, 8 Aug 2012 14:57:10 +0000 (14:57 +0000)]
tools/push-to-trunk.sh: Add a check whether grepping for the just-committed SVN revision number succeeded.

R=yangguo@chromium.org

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

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

12 years agoFix Win64 compile error caused by r12272.
ulan@chromium.org [Wed, 8 Aug 2012 09:46:45 +0000 (09:46 +0000)]
Fix Win64 compile error caused by r12272.

R=mstarzinger@chromium.org

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

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

12 years agoTemporary skip failure on simulators due to r12270.
mstarzinger@chromium.org [Wed, 8 Aug 2012 09:19:55 +0000 (09:19 +0000)]
Temporary skip failure on simulators due to r12270.

R=ulan@chromium.org
TEST=test262/S13.2.1_A1_T1

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

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

12 years agoFix mozilla test expectations.
yangguo@chromium.org [Wed, 8 Aug 2012 08:44:29 +0000 (08:44 +0000)]
Fix mozilla test expectations.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoFix parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
yangguo@chromium.org [Wed, 8 Aug 2012 07:44:17 +0000 (07:44 +0000)]
Fix parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).

R=svenpanne@chromium.org
BUG=v8:1645
TEST=test262, parse-int-float.js

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

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

12 years agoAdd heap space sizes and external memory counter to V8 statistics extension.
ulan@chromium.org [Wed, 8 Aug 2012 07:37:07 +0000 (07:37 +0000)]
Add heap space sizes and external memory counter to V8 statistics extension.

R=yangguo@chromium.org

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

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

12 years agoAdd checks for interceptors to negative lookup code in Crankshaft.
erik.corry@gmail.com [Tue, 7 Aug 2012 14:48:19 +0000 (14:48 +0000)]
Add checks for interceptors to negative lookup code in Crankshaft.
BUG=140473
Review URL: https://chromiumcodereview.appspot.com/10837141

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

12 years agoForce eager compilation of parenthesized functions.
mstarzinger@chromium.org [Tue, 7 Aug 2012 14:47:36 +0000 (14:47 +0000)]
Force eager compilation of parenthesized functions.

This makes the compiler use eager compilation for function literals that
are parenthesized. We consider this to be a hint that the function will
be called immediatly and hence try to avoid parsing it twice. The parser
already respects this heuristic.

R=ulan@chromium.org

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

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

12 years agoAdd flag to trace the amount of external memory.
ulan@chromium.org [Tue, 7 Aug 2012 14:17:35 +0000 (14:17 +0000)]
Add flag to trace the amount of external memory.

R=yangguo@chromium.org

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

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

12 years agoUnify handling of bailout IDs for property loads.
svenpanne@chromium.org [Tue, 7 Aug 2012 14:06:25 +0000 (14:06 +0000)]
Unify handling of bailout IDs for property loads.

Renamed Property::ReturnId to Property::LoadId, which describes its use more
accurately. Compound assignments and CountOperations now consistently use
Property::LoadId() instead of their own CompoundLoadId/CountId.

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

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

12 years agoAdjust GC tracing: add a flag to ignore scavenger traces and print total GC time...
ulan@chromium.org [Tue, 7 Aug 2012 08:19:11 +0000 (08:19 +0000)]
Adjust GC tracing: add a flag to ignore scavenger traces and print total GC time in verbose mode.

R=mstarzinger@chromium.org

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

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

12 years agoRefactor Math.min/max to be a single HInstruction.
jkummerow@chromium.org [Mon, 6 Aug 2012 14:28:27 +0000 (14:28 +0000)]
Refactor Math.min/max to be a single HInstruction.

That allows us to dynamically compute representations and insert appropriate HChange instructions.

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

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

12 years agoImprove load IC so it can call a native accessor even if the holder is
erik.corry@gmail.com [Mon, 6 Aug 2012 14:25:19 +0000 (14:25 +0000)]
Improve load IC so it can call a native accessor even if the holder is
in dictionary mode.  Add a flag to all maps to indicate whether they are
used for dictionary (normalized) objects or fast mode objects.
Review URL: https://chromiumcodereview.appspot.com/10831153

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

12 years agoIntroduced TypeFeedbackId and BailoutId types.
svenpanne@chromium.org [Mon, 6 Aug 2012 14:13:09 +0000 (14:13 +0000)]
Introduced TypeFeedbackId and BailoutId types.

This is a refactoring-only CL which improves the typing of IDs associated with
AST nodes. The interesting parts are in utils.h and ast.h, the rest of the CL
basically follows mechanically.

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

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

12 years agoMake AdjustAmountOfExternalAllocatedMemory() more robust.
ulan@chromium.org [Mon, 6 Aug 2012 13:49:13 +0000 (13:49 +0000)]
Make AdjustAmountOfExternalAllocatedMemory() more robust.

Do not crash if called from a thread without V8 isolate, reset the external
memory counters in case of overflow, bump the external allocation limit.

This will allow us to track typed array allocation and deallocation in WebKit.

BUG=v8:2022,122097,42342
R=jkummerow@chromium.org

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

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

12 years agoFix integer division truncation error.
mstarzinger@chromium.org [Mon, 6 Aug 2012 13:23:52 +0000 (13:23 +0000)]
Fix integer division truncation error.

Review URL: https://chromiumcodereview.appspot.com/10831148
Patch from Nico Weber <thakis@chromium.org>.

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

12 years agoFactor out SimulateIncrementalMarking in test-heap.
mstarzinger@chromium.org [Mon, 6 Aug 2012 11:04:40 +0000 (11:04 +0000)]
Factor out SimulateIncrementalMarking in test-heap.

R=ulan@chromium.org
TEST=cctest/test-heap

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

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

12 years agoMake incremental marking clear ICs.
mstarzinger@chromium.org [Mon, 6 Aug 2012 10:35:48 +0000 (10:35 +0000)]
Make incremental marking clear ICs.

This extends the existing clearing of ICs during GC to incremental
marking in order to prevent cross-context retention that would last
until the next non-incremental GC.

R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClears[Mono,Poly]morhpicIC

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

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

12 years agoTake advantage of batched results when matching global regexp.
yangguo@chromium.org [Mon, 6 Aug 2012 09:06:27 +0000 (09:06 +0000)]
Take advantage of batched results when matching global regexp.

BUG=
TEST=regexp-global.js

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

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

12 years agoAllow SetHiddenValue to accept empty value.
yangguo@chromium.org [Mon, 6 Aug 2012 07:55:05 +0000 (07:55 +0000)]
Allow SetHiddenValue to accept empty value.

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

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

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

12 years agoFix crash bug when calling getV8Statistics().
yangguo@chromium.org [Fri, 3 Aug 2012 14:03:30 +0000 (14:03 +0000)]
Fix crash bug when calling getV8Statistics().

BUG=v8:2270

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

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

12 years agoFixed compound/count operations with getter-only accessor properties.
svenpanne@chromium.org [Fri, 3 Aug 2012 09:45:08 +0000 (09:45 +0000)]
Fixed compound/count operations with getter-only accessor properties.

The underlying problem is that for compound/count operations we use the *load*
type feedback for storing, too. For normal properties this doesn't matter, but
for accessor properties we should better use the *store* type feedback, which
would be available, too. This consistent feedback usage could be guaranteed if
we removed the heavy copy-n-paste in the crankshaft code generation for
compound/count operations and assignments/property loads.

To be on the safe side, we postpone this refactoring and do a quick and easily
mergeable fix.

BUG=140083
TEST=mjsunit/regress/regress-crbug-140083.js

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

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

12 years agoMake test-heap resilient against --stress-compaction.
mstarzinger@chromium.org [Thu, 2 Aug 2012 14:20:38 +0000 (14:20 +0000)]
Make test-heap resilient against --stress-compaction.

R=ulan@chromium.org

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

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

12 years agoandroid: refine custom ucontext_t definitions.
svenpanne@chromium.org [Thu, 2 Aug 2012 10:03:21 +0000 (10:03 +0000)]
android: refine custom ucontext_t definitions.

This is a forward-compatible change to avoid type/naming
conflicts when the Android platform/NDK will update its
<signal.h> header to properly define 'struct sigcontext',
'mcontext_t' and 'ucontext_t'.

In particular:

  - Do not define 'struct sigcontext.h' to avoid
    conflicts with the C library definition (which
    is different, see below).

  - Only provide custom ucontext_t declarations if
    the Android <signal.h> doesn't provide it. This can
    be tested with a macro check (__BIONIC_HAVE_UCONTEXT_T)

+ Use 'gettid()' on Android since it is available (at all
  API levels).

See http://code.google.com/p/android/issues/detail?id=34784

Review URL: https://chromiumcodereview.appspot.com/10829122
Patch from David Turner <digit@chromium.org>.

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

12 years agoAndroid: increase default test timeout and skip time sensitive mjsunit/regress/regres...
ulan@chromium.org [Wed, 1 Aug 2012 13:06:08 +0000 (13:06 +0000)]
Android: increase default test timeout and skip time sensitive mjsunit/regress/regress-1969.

R=yangguo@chromium.org

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

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

12 years agoWhen specifying a new create histogram callback, reset all histograms so they recreat...
mstarzinger@chromium.org [Wed, 1 Aug 2012 12:51:24 +0000 (12:51 +0000)]
When specifying a new create histogram callback, reset all histograms so they recreate themselves on next use.

We only do this for histograms, and not for counters, as counters might be used directly from generated code

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10828113
Patch from Jochen Eisinger <jochen@chromium.org>.

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

12 years agoFix the 137002 fix (Don't generate ICs for accessors on slow
erik.corry@gmail.com [Wed, 1 Aug 2012 12:35:33 +0000 (12:35 +0000)]
Fix the 137002 fix (Don't generate ICs for accessors on slow
case objects).  We should be testing the holder for dictionary
mode, not the receiver.
Review URL: https://chromiumcodereview.appspot.com/10827113

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

12 years agoRefactor marking to share embedded pointer visitor.
mstarzinger@chromium.org [Wed, 1 Aug 2012 11:29:48 +0000 (11:29 +0000)]
Refactor marking to share embedded pointer visitor.

R=ulan@chromium.org

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

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

12 years agoMake incremental marking clear type feedback cells.
mstarzinger@chromium.org [Wed, 1 Aug 2012 11:24:14 +0000 (11:24 +0000)]
Make incremental marking clear type feedback cells.

This extends the existing clearing of type feedback cells during GC to
incremental marking in order to prevent cross-context retention that
would last until the next non-incremental GC.

R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClearsTypeFeedbackCells

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.0.
jkummerow@chromium.org [Wed, 1 Aug 2012 11:10:32 +0000 (11:10 +0000)]
Prepare push to trunk.  Now working on version 3.13.0.

R=yangguo@chromium.org

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

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

12 years agoDon't leak inobject space when transforming to fast properties without descriptors.
verwaest@chromium.org [Wed, 1 Aug 2012 10:50:26 +0000 (10:50 +0000)]
Don't leak inobject space when transforming to fast properties without descriptors.

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

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

12 years agoMake test-serialize resilient against --gc-interval.
mstarzinger@chromium.org [Wed, 1 Aug 2012 09:43:05 +0000 (09:43 +0000)]
Make test-serialize resilient against --gc-interval.

R=erik.corry@gmail.com
TEST=cctest/test-serialize (--gc-interval=100)

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

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

12 years agoFix full code generator to not use --debug-code if it is in
erik.corry@gmail.com [Tue, 31 Jul 2012 14:59:32 +0000 (14:59 +0000)]
Fix full code generator to not use --debug-code if it is in
mksnapshot or a VM that is booted from a snapshot.  --debug-code
can still have an effect on stub and optimized code and it still
works on the full code generator when running without snapshots.

The deoptimizer generates full-code-generator code and relies on it having
the same layout as last time.  This means that the code the full code
generator makes for the snapshot should be the same as the code it makes
later.  This change makes the full code generator create more consistent
code between mksnapshot time and run time.

This is a bug fix and a step towards making the snapshot code more robust.
Review URL: https://chromiumcodereview.appspot.com/10834085

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

12 years agoFix write barrier for StoreKeyedFastElements on ARM
danno@chromium.org [Tue, 31 Jul 2012 14:31:19 +0000 (14:31 +0000)]
Fix write barrier for StoreKeyedFastElements on ARM

R=mstarzinger@chromium.org

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

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

12 years agoSpeed up quicksort test to avoid timeouts on simulators.
erik.corry@gmail.com [Tue, 31 Jul 2012 13:36:24 +0000 (13:36 +0000)]
Speed up quicksort test to avoid timeouts on simulators.
Review URL: https://chromiumcodereview.appspot.com/10830093

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

12 years agoUse architecture-specific alignment for hashing in Descriptor lookup cache.
verwaest@chromium.org [Tue, 31 Jul 2012 12:33:28 +0000 (12:33 +0000)]
Use architecture-specific alignment for hashing in Descriptor lookup cache.

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

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

12 years agoFix build for disassembler=on and objectprint=off.
mstarzinger@chromium.org [Tue, 31 Jul 2012 09:53:39 +0000 (09:53 +0000)]
Fix build for disassembler=on and objectprint=off.

R=jkummerow@chromium.org

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

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

12 years agoFix bogus AbortIfNotZeroExtended on x64 for bounds checks
danno@chromium.org [Tue, 31 Jul 2012 09:47:43 +0000 (09:47 +0000)]
Fix bogus AbortIfNotZeroExtended on x64 for bounds checks

R=mmassi@chromium.org

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

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

12 years agoFix deserializer to understand direct pointers from code to cell payloads.
erik.corry@gmail.com [Tue, 31 Jul 2012 09:25:23 +0000 (09:25 +0000)]
Fix deserializer to understand direct pointers from code to cell payloads.

The deoptimizer generates full-code-generator code and relies on it having
the same layout as last time.  This means that the code the full code
generator makes for the snapshot should be the same as the code it makes
later.  This change makes the full code generator create more consistent
code between mksnapshot time and run time.

This is a bug fix and a step towards making the snapshot code more robust.
Review URL: https://chromiumcodereview.appspot.com/10824084

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

12 years agoImprove constant element index access code generation
danno@chromium.org [Tue, 31 Jul 2012 08:44:51 +0000 (08:44 +0000)]
Improve constant element index access code generation

R=jkummerow@chromium.org

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

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

12 years agoFix regression test on x64.
yangguo@chromium.org [Mon, 30 Jul 2012 13:48:52 +0000 (13:48 +0000)]
Fix regression test on x64.

R=verwaest@chromium.org
BUG=
TEST=

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

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

12 years agoLimit initial size of hidden properties and store identity hashes inline.
yangguo@chromium.org [Mon, 30 Jul 2012 13:09:09 +0000 (13:09 +0000)]
Limit initial size of hidden properties and store identity hashes inline.

BUG=v8:2211
TEST=test-heap/Regress2211

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

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

12 years agoMake AlwaysAllocateScope imply DisallowAllocationFailure.
mstarzinger@chromium.org [Mon, 30 Jul 2012 13:07:29 +0000 (13:07 +0000)]
Make AlwaysAllocateScope imply DisallowAllocationFailure.

R=erik.corry@gmail.com
TEST=cctest/test-api,cctest/test-heap (--gc-interval=100)

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

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

12 years agoR=yangguo@chromium.org,svenpanne@chromium.org
yangguo@chromium.org [Mon, 30 Jul 2012 13:04:10 +0000 (13:04 +0000)]
R=yangguo@chromium.org,svenpanne@chromium.org
x64 BinaryOpStub::GenerateSmiCode use wrong registers in one code path.

e.g. d8 --trace_ic
var dd = new Float64Array(2);
dd[1] = 1;
(function fn() {
  for (var i = 0; i < 1000; i++)
  dd[0] = 2 / dd[1];
})();
It keeps falling into runtime call and patching.

No regression test, because I don't how to test it.

Review URL: https://chromiumcodereview.appspot.com/10834064
Patch from Zheng Liu <shdwthr@gmail.com>.

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

12 years agoPrepare push to trunk. Now working on version 3.12.19.
ulan@chromium.org [Mon, 30 Jul 2012 13:00:52 +0000 (13:00 +0000)]
Prepare push to trunk.  Now working on version 3.12.19.

R=jkummerow@chromium.org

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

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

12 years agoImplement verification of context separation.
mstarzinger@chromium.org [Mon, 30 Jul 2012 10:47:04 +0000 (10:47 +0000)]
Implement verification of context separation.

This adds the --verify-global-context-separation flag which can be used
to verify that no code object embeds pointers to more than one global
context after a full GC. It uses an object visitor that just performs
shallow traversal of the object graph spanned by one code object, and
breaks at points where application objects are encountered. So it will
not trip on cross-context leaks introduced by the application itself.

R=verwaest@chromium.org

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

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

12 years agoInline simple getter calls.
svenpanne@chromium.org [Mon, 30 Jul 2012 10:42:21 +0000 (10:42 +0000)]
Inline simple getter calls.

Currently only simple getter calls are handled (i.e. no calls in count
operations or compound assignments), and deoptimization in the getter is not
handled at all. Because of the latter, we temporarily hide this feature behind a
new flag --inline-accessors, which is false by default.

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

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

12 years agoImplement TracePathToObjectFrom helper for debugging.
mstarzinger@chromium.org [Mon, 30 Jul 2012 10:32:54 +0000 (10:32 +0000)]
Implement TracePathToObjectFrom helper for debugging.

R=verwaest@chromium.org

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

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

12 years agoActually fix build.
yangguo@chromium.org [Mon, 30 Jul 2012 09:55:26 +0000 (09:55 +0000)]
Actually fix build.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoFix build.
yangguo@chromium.org [Mon, 30 Jul 2012 09:36:03 +0000 (09:36 +0000)]
Fix build.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoForce signed zero double.
yangguo@chromium.org [Mon, 30 Jul 2012 09:28:20 +0000 (09:28 +0000)]
Force signed zero double.

R=svenpanne@chromium.org
BUG=v8:2239
TEST=

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

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

12 years agoRemove unused fields in test.py
jkummerow@chromium.org [Mon, 30 Jul 2012 09:09:13 +0000 (09:09 +0000)]
Remove unused fields in test.py

Review URL: https://chromiumcodereview.appspot.com/10833002
Patch from Haitao Feng <haitao.feng@intel.com>.

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

12 years agoFix build errors.
yangguo@chromium.org [Mon, 30 Jul 2012 08:54:51 +0000 (08:54 +0000)]
Fix build errors.

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoMake sure double to int conversion is correct.
yangguo@chromium.org [Mon, 30 Jul 2012 08:34:26 +0000 (08:34 +0000)]
Make sure double to int conversion is correct.

R=svenpanne@chromium.org
BUG=v8:2260
TEST=test-utils/Utils1

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

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

12 years agoRemoved recording of Target Slot in transition arrays since they only contain maps.
verwaest@chromium.org [Fri, 27 Jul 2012 17:03:12 +0000 (17:03 +0000)]
Removed recording of Target Slot in transition arrays since they only contain maps.

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

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

12 years agoFix minor handle unsafety in exception throwing code.
mstarzinger@chromium.org [Fri, 27 Jul 2012 15:33:06 +0000 (15:33 +0000)]
Fix minor handle unsafety in exception throwing code.

R=yangguo@chromium.org
TEST=mjsunit/harmony/proxies (--gc-interval=100)

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

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

12 years agoMove some Pop/Drop calls directly to the places where they are needed.
svenpanne@chromium.org [Fri, 27 Jul 2012 12:35:44 +0000 (12:35 +0000)]
Move some Pop/Drop calls directly to the places where they are needed.

This is a refactoring-only CL and the fourth one in a series for enabling
inlining of accessors. Later when we try to inline accessor calls, their
arguments must still be on the expression stack, so we must not remove them too
early.

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

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

12 years agoPrint type feedback info together with code objects.
mstarzinger@chromium.org [Fri, 27 Jul 2012 12:06:26 +0000 (12:06 +0000)]
Print type feedback info together with code objects.

R=jkummerow@chromium.org

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

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

12 years agoRewrite Makefile rules for Android to allow parallel execution
yangguo@chromium.org [Fri, 27 Jul 2012 11:14:44 +0000 (11:14 +0000)]
Rewrite Makefile rules for Android to allow parallel execution

BUG=v8:2257

Review URL: https://chromiumcodereview.appspot.com/10824039
Patch from Haitao Feng <haitao.feng@intel.com>.

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

12 years agoAvoid GC when printing shared function info.
yangguo@chromium.org [Fri, 27 Jul 2012 09:54:56 +0000 (09:54 +0000)]
Avoid GC when printing shared function info.

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoMove BuildCallGetter/BuildCallSetter up in the call chain.
svenpanne@chromium.org [Fri, 27 Jul 2012 09:43:06 +0000 (09:43 +0000)]
Move BuildCallGetter/BuildCallSetter up in the call chain.

This is a refactoring-only CL and the third one in a series for enabling
inlining of accessors. The goal of this CL is to move the builders for accessors
to the places where we might be able to inline them later, i.e. the VisitFoo and
HandleBar member functions of HGraphBuilder.

Extracted duplicate code into LookupAccessorPair.

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.18.
verwaest@chromium.org [Fri, 27 Jul 2012 07:57:43 +0000 (07:57 +0000)]
Prepare push to trunk.  Now working on version 3.12.18.

R=danno@chromium.org

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

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

12 years agoCleaned up BuildLoadNamed/BuildStoreNamed.
svenpanne@chromium.org [Fri, 27 Jul 2012 06:27:47 +0000 (06:27 +0000)]
Cleaned up BuildLoadNamed/BuildStoreNamed.

This is a refactoring-only CL and the second one in a series for enabling
inlining of accessors. It makes BuildLoadNamed and BuildStoreNamed a bit more
uniform and makes it clear that they both handle monomorphic accesses only.

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

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

12 years agoExtending map verification to also verify LastAdded/DescriptorArray consistency.
verwaest@chromium.org [Thu, 26 Jul 2012 14:55:22 +0000 (14:55 +0000)]
Extending map verification to also verify LastAdded/DescriptorArray consistency.

Removed ASSERT now subsumed by extended map verification.

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

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

12 years agoRe-enable array index dehoisting.
mmassi@chromium.org [Thu, 26 Jul 2012 14:21:40 +0000 (14:21 +0000)]
Re-enable array index dehoisting.

BUG=
TEST=

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

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

12 years agoSet LastAdded to kNoneAdded in RawCopy.
verwaest@chromium.org [Thu, 26 Jul 2012 13:48:34 +0000 (13:48 +0000)]
Set LastAdded to kNoneAdded in RawCopy.

This ensures it is properly initialized if no descriptors are later set.

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

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

12 years agoAlways set the callee's context when calling a function from optimized code.
jkummerow@chromium.org [Thu, 26 Jul 2012 12:49:08 +0000 (12:49 +0000)]
Always set the callee's context when calling a function from optimized code.

This is necessary even for recursive calls because we're sharing optimized code among closures, which could call each other and have distinct contexts.

BUG=138887
TEST=mjsunit/regress/regress-crbug-138887

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

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

12 years agoFix path to d8 and properly quote strings so it works with dash(1)
mikhail.naganov@gmail.com [Thu, 26 Jul 2012 10:03:30 +0000 (10:03 +0000)]
Fix path to d8 and properly quote strings so it works with dash(1)

Patch by Sandro Santilli <strk@keybit.net>

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

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

12 years agoFix building with GCC 3.x
yangguo@chromium.org [Thu, 26 Jul 2012 09:18:09 +0000 (09:18 +0000)]
Fix building with GCC 3.x

R=yangguo@chromium.org
BUG=v8:2016, v8:2017
TEST=

Review URL: https://chromiumcodereview.appspot.com/10823034
Patch from James Pike <g00gle@chilon.net>.

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

12 years agoCleaned up Hydrogen function signatures related to property access.
svenpanne@chromium.org [Thu, 26 Jul 2012 08:55:22 +0000 (08:55 +0000)]
Cleaned up Hydrogen function signatures related to property access.

This is a refactoring-only CL and the first one in a series for enabling
inlining of accessors. The naming and argument order has been unified a bit, and
some tests have been pushed to the caller in order to get a simpler
signature. Note that the latter temporarily introduces some code redundancy, but
this will be cleaned up in one of the next CLs.

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

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

12 years agoFix cctests when VFP is disabled.
yangguo@chromium.org [Thu, 26 Jul 2012 08:42:42 +0000 (08:42 +0000)]
Fix cctests when VFP is disabled.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoLimited the size of transition arrays so they never end up in the large object space.
verwaest@chromium.org [Thu, 26 Jul 2012 08:27:20 +0000 (08:27 +0000)]
Limited the size of transition arrays so they never end up in the large object space.

Also renamed SizeOf on DescriptorArray to LengthOf for consistency.

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

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

12 years agoImprove API calls that return empty handles.
mstarzinger@chromium.org [Wed, 25 Jul 2012 16:33:32 +0000 (16:33 +0000)]
Improve API calls that return empty handles.

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

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

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

12 years agoRelax requirement from VFP3 to VFP2 where possible.
yangguo@chromium.org [Wed, 25 Jul 2012 15:26:16 +0000 (15:26 +0000)]
Relax requirement from VFP3 to VFP2 where possible.

BUG=
TEST=

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

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

12 years agoRefactor incremental marking to use static visitor.
mstarzinger@chromium.org [Wed, 25 Jul 2012 15:23:07 +0000 (15:23 +0000)]
Refactor incremental marking to use static visitor.

This is a refactoring only change that switches incremental marking to
use a static object visitor. It also shares the common code between the
non-incremental and the incremental marker. Sharing that would require
semantical changes will be done later.

R=verwaest@chromium.org

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.17.
danno@chromium.org [Wed, 25 Jul 2012 14:58:20 +0000 (14:58 +0000)]
Prepare push to trunk.  Now working on version 3.12.17.

R=jkummerow@chromium.org

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

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

12 years agoMIPS: Optimize Smi keys for KeyedLoads
danno@chromium.org [Wed, 25 Jul 2012 14:38:32 +0000 (14:38 +0000)]
MIPS: Optimize Smi keys for KeyedLoads

Port r12156 (e2874cdf)

Original commit message:
Allows KeyeLoad/KeyedStore operations where the key is a Smi to fold the untagging of the key into the element offset calculation.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10790143
Patch from Akos Palfi <palfia@homejinni.com>.

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