platform/upstream/v8.git
11 years agoUse MemoryChunk-based allocation for deoptimization entry code
danno@chromium.org [Thu, 24 Jan 2013 15:14:33 +0000 (15:14 +0000)]
Use MemoryChunk-based allocation for deoptimization entry code

This is done by first committing the deoptimization entry code with a minimal
area size (OS::CommitPageSize) and later using CommitArea to adjust the size.

Review URL: https://codereview.chromium.org/11566011
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoFix bug in edge case in populating PointerMaps
danno@chromium.org [Thu, 24 Jan 2013 15:05:38 +0000 (15:05 +0000)]
Fix bug in edge case in populating PointerMaps

If a live range was split immediately before an instruction that required a
safe-point pointer map, it was possible for the safe-point to incorrectly use the
register/stack slot information of the preceeding live range rather than the one
that actually covers the safe-point.

R=mstarzinger@chromium.org,vegorov@chromium.org

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

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

11 years agoMerge UpdateLoadCaches into a single function dispatching on
verwaest@chromium.org [Thu, 24 Jan 2013 13:02:45 +0000 (13:02 +0000)]
Merge UpdateLoadCaches into a single function dispatching on
ComputeLoadMonorphic and UpdateMegamorphicCache.

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

11 years agoFix map check removal issue in r13488.
mstarzinger@chromium.org [Thu, 24 Jan 2013 12:35:56 +0000 (12:35 +0000)]
Fix map check removal issue in r13488.

The removal of HCheckMaps is invalid when the instruction has a virtual
usage, which can happen e.g. for HLoadElements or HJSArrayLength.

R=jkummerow@chromium.org
TEST=webkit:fast/js/regress/Float32Array-matrix-mult.html

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

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

11 years agoMake embedded maps in optimized code weak.
ulan@chromium.org [Thu, 24 Jan 2013 11:55:05 +0000 (11:55 +0000)]
Make embedded maps in optimized code weak.

Each map has a weak array of dependent codes, where the map tracks all the optimized codes that embed it.
Old space GC either clears the dead dependent codes from the array if the corresponding map is alive or deoptimizes the live dependent codes if the map is dead.

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

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

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

11 years agoForce inlining of object visiting functions.
hpayer@chromium.org [Thu, 24 Jan 2013 09:40:57 +0000 (09:40 +0000)]
Force inlining of object visiting functions.

BUG=

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

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

11 years agoAllow removal of obsolete map checks after transitions.
mstarzinger@chromium.org [Thu, 24 Jan 2013 09:10:06 +0000 (09:10 +0000)]
Allow removal of obsolete map checks after transitions.

This allows side effect dominator tracking to remove map checks that are
dominated by a single HStoreNamedField that performs a transition on the
same object. A similar trick could be applied to HAllocateObject.

R=jkummerow@chromium.org

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

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

11 years agoFix --hydrogen-stats.
yangguo@chromium.org [Thu, 24 Jan 2013 08:39:35 +0000 (08:39 +0000)]
Fix --hydrogen-stats.

V8 crashes with this flag when trying to compile hydrogen stubs.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoImplicit references are missing in heap profiles
yurys@chromium.org [Thu, 24 Jan 2013 07:54:40 +0000 (07:54 +0000)]
Implicit references are missing in heap profiles
Review URL: https://codereview.chromium.org/11953043

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

11 years agoEnsure a type-error is thrown when trying to assign to a readonly property on the...
verwaest@chromium.org [Wed, 23 Jan 2013 17:27:25 +0000 (17:27 +0000)]
Ensure a type-error is thrown when trying to assign to a readonly property on the global scope.

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

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

11 years agoARM: Make use of d16-d31 when available.
ulan@chromium.org [Wed, 23 Jan 2013 16:29:48 +0000 (16:29 +0000)]
ARM: Make use of d16-d31 when available.

Review URL: https://chromiumcodereview.appspot.com/11428137
Patch from Hans Wennborg <hans@chromium.org>.

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

11 years agoFix corner case when JSFunction is evicted from flusher.
mstarzinger@chromium.org [Wed, 23 Jan 2013 16:15:15 +0000 (16:15 +0000)]
Fix corner case when JSFunction is evicted from flusher.

This fixes a corner case that happens when JSFunctions are enqueued as
code flushing candidates but their respective SharedFunctionInfo isn't.
If the JSFunction gets evicted due to optimization the code slot in the
SharedFunctionInfo will never be recorded in the slots buffer.

R=hpayer@chromium.org
BUG=chromium:168801
TEST=cctest/test-heap/Regress168801

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

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

11 years agoAlways fail when trying to store to an undeclared global variable, even if it was...
verwaest@chromium.org [Wed, 23 Jan 2013 16:04:19 +0000 (16:04 +0000)]
Always fail when trying to store to an undeclared global variable, even if it was found.

Finding a property, but not using an IC, indicates that the variable was
found on the prototype (in DOMWindow). Those properties need to be
ignored while storing global properties via the IC.

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

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

11 years agoCorrectly set kCanBeDivByZero flag for HMathFloorOfDiv.
ulan@chromium.org [Wed, 23 Jan 2013 15:58:49 +0000 (15:58 +0000)]
Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.

After r13289 the divisor can be non-constant, so we should check for zero.

BUG=171641
R=yangguo@chromium.org

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

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

11 years agoMove polymorphic stub computation and compilation to stub cache
verwaest@chromium.org [Wed, 23 Jan 2013 15:35:43 +0000 (15:35 +0000)]
Move polymorphic stub computation and compilation to stub cache

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

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

11 years agoMIPS: Avoid handle dereference during graph optimization.
yangguo@chromium.org [Wed, 23 Jan 2013 15:25:28 +0000 (15:25 +0000)]
MIPS: Avoid handle dereference during graph optimization.

Port r13475 (0076e1ee)

Original commit message:
With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
 - Dereferencing the handle to obtain the raw location of the object. This
   is safe since parallel recompilation acquires RelocationLock
 - Some places that dereference the handle for a type check. These are checked
   to be safe on a case-by-case basis.

BUG=
TEST=

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

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

11 years agoMIPS: Make HCheckPrototypeMaps compatible with parallel recompilation.
yangguo@chromium.org [Wed, 23 Jan 2013 14:01:11 +0000 (14:01 +0000)]
MIPS: Make HCheckPrototypeMaps compatible with parallel recompilation.

Port r13454 (2c0dd0ff)

Original commit message:
HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.

BUG=
TEST=

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

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

11 years agoAvoid handle dereference during graph optimization.
yangguo@chromium.org [Wed, 23 Jan 2013 13:52:00 +0000 (13:52 +0000)]
Avoid handle dereference during graph optimization.

With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
 - Dereferencing the handle to obtain the raw location of the object. This
   is safe since parallel recompilation acquires RelocationLock
 - Some places that dereference the handle for a type check. These are checked
   to be safe on a case-by-case basis.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.9.
mvstanton@chromium.org [Wed, 23 Jan 2013 13:40:51 +0000 (13:40 +0000)]
Prepare push to trunk.  Now working on version 3.16.9.

R=yangguo@chromium.org
BUG=

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

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

11 years agoCorrectly reset lastIndex in an RegExp object.
yangguo@chromium.org [Wed, 23 Jan 2013 12:28:16 +0000 (12:28 +0000)]
Correctly reset lastIndex in an RegExp object.

R=svenpanne@chromium.org
BUG=170856

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

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

11 years agoAdded a workaround for Windows compilation problems related to V8EXPORT.
svenpanne@chromium.org [Wed, 23 Jan 2013 12:04:55 +0000 (12:04 +0000)]
Added a workaround for Windows compilation problems related to V8EXPORT.

The underlying problem is a bit unclear, but at least this CL makes VS happy.

BUG=v8:2507

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

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

11 years agotools/run-tests.py: shlex.split() the value of --command-prefix
jkummerow@chromium.org [Wed, 23 Jan 2013 11:41:56 +0000 (11:41 +0000)]
tools/run-tests.py: shlex.split() the value of --command-prefix

BUG=171553

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

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

11 years agoMIPS: Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Wed, 23 Jan 2013 10:05:08 +0000 (10:05 +0000)]
MIPS: Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub

Port r13459 (491896eb)

BUG=
TEST=

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

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

11 years agoMIPS: Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Wed, 23 Jan 2013 10:02:48 +0000 (10:02 +0000)]
MIPS: Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub

Port r13458 (e8729cf9)

BUG=
TEST=

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

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

11 years agoMIPS: Replace special IC builtins and stubs in the map's cache by codestubs.
verwaest@chromium.org [Wed, 23 Jan 2013 09:45:48 +0000 (09:45 +0000)]
MIPS: Replace special IC builtins and stubs in the map's cache by codestubs.

Port r13453 (94525069)

BUG=
TEST=

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

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

11 years agoMIPS: Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
mvstanton@chromium.org [Tue, 22 Jan 2013 16:18:59 +0000 (16:18 +0000)]
MIPS: Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo

Port r13462 (74f0ddf6)

Original commit message:
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo Restored test code in allocation-site-info.js that was failing on ARM because of this bug.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11896037
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoFix pattern detection for replacing shifts by rotation.
ulan@chromium.org [Tue, 22 Jan 2013 13:55:22 +0000 (13:55 +0000)]
Fix pattern detection for replacing shifts by rotation.

BUG=2499
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/12047015
Patch from Hirofumi Mako <mkhrfm@gmail.com>.

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

11 years agoAllow loading constant function from proto chain.
mstarzinger@chromium.org [Tue, 22 Jan 2013 12:03:35 +0000 (12:03 +0000)]
Allow loading constant function from proto chain.

This enables Crankshaft to use HConstant for loading constant functions
on the prototype chain when building a monomorphic load. This pattern
appears in several JavaScript frameworks.

R=svenpanne@chromium.org
TEST=mjsunit/compiler/proto-chain-constant

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

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

11 years agoIncorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
mvstanton@chromium.org [Tue, 22 Jan 2013 10:49:23 +0000 (10:49 +0000)]
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
Restored test code in allocation-site-info.js that was failing on ARM because of this bug.

BUG=

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

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

11 years agoMerge Store from Keyed and Named store.
verwaest@chromium.org [Tue, 22 Jan 2013 09:48:59 +0000 (09:48 +0000)]
Merge Store from Keyed and Named store.

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

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

11 years agoMerge Load from Keyed|Named load code.
verwaest@chromium.org [Tue, 22 Jan 2013 09:35:14 +0000 (09:35 +0000)]
Merge Load from Keyed|Named load code.

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

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

11 years agoMigrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Mon, 21 Jan 2013 17:54:36 +0000 (17:54 +0000)]
Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub

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

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

11 years agoMigrate ArrayLength (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Mon, 21 Jan 2013 17:17:02 +0000 (17:17 +0000)]
Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub

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

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

11 years agoCheck for FLAG_enable_liveedit when using Live Edit.
yangguo@chromium.org [Mon, 21 Jan 2013 17:06:30 +0000 (17:06 +0000)]
Check for FLAG_enable_liveedit when using Live Edit.

R=peter.rybin@gmail.com
BUG=

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

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

11 years agoallocation-site-info.js broken on arm with new changes. Reverting to previous version...
mvstanton@chromium.org [Mon, 21 Jan 2013 16:15:08 +0000 (16:15 +0000)]
allocation-site-info.js broken on arm with new changes. Reverting to previous version until diagnosed.
Regress-2185.js test takes too long on slow path when allocation site info is discovered.

BUG=

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

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

11 years agoFix some latin-1 webkit units tests
yangguo@chromium.org [Mon, 21 Jan 2013 16:11:31 +0000 (16:11 +0000)]
Fix some latin-1 webkit units tests

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11962035
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoMake HCheckPrototypeMaps compatible with parallel recompilation.
yangguo@chromium.org [Mon, 21 Jan 2013 15:49:00 +0000 (15:49 +0000)]
Make HCheckPrototypeMaps compatible with parallel recompilation.

HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoReplace special IC builtins and stubs in the map's cache by codestubs.
verwaest@chromium.org [Mon, 21 Jan 2013 14:53:29 +0000 (14:53 +0000)]
Replace special IC builtins and stubs in the map's cache by codestubs.

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.8.
yangguo@chromium.org [Mon, 21 Jan 2013 14:37:29 +0000 (14:37 +0000)]
Prepare push to trunk.  Now working on version 3.16.8.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoRemove <(library) usage from v8.gyp.
jkummerow@chromium.org [Mon, 21 Jan 2013 14:14:28 +0000 (14:14 +0000)]
Remove <(library) usage from v8.gyp.

BUG=111541
R=danno@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: https://codereview.chromium.org/12022021
Patch from Thiago Farina <tfarina@chromium.org>.

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

11 years agoDisable elimination of unreachable code after HSoftDeopts
jkummerow@chromium.org [Mon, 21 Jan 2013 14:11:25 +0000 (14:11 +0000)]
Disable elimination of unreachable code after HSoftDeopts

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

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

11 years agoFixed test failure.
mvstanton@chromium.org [Mon, 21 Jan 2013 13:21:53 +0000 (13:21 +0000)]
Fixed test failure.

A test case erroneously expected a transition to a double array, but the array remains FAST_SMI.

In person LGTM from Danno...
BUG=

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

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

11 years agoRemove unused GlobalHandles::IterateWeakRoots()
mstarzinger@chromium.org [Mon, 21 Jan 2013 12:31:13 +0000 (12:31 +0000)]
Remove unused GlobalHandles::IterateWeakRoots()

BUG=

Review URL: https://codereview.chromium.org/11969037
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoOut of bounds memory access in TestJSArrayForAllocationSiteInfo.
mvstanton@chromium.org [Mon, 21 Jan 2013 12:26:29 +0000 (12:26 +0000)]
Out of bounds memory access in TestJSArrayForAllocationSiteInfo.

The function intended to check the map pointer of an AllocationSiteInfo object, but neglected to
subtract an offset to do so.

BUG=169928

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

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

11 years agoRemove GlobalHandles::number_of_weak_handles_ and number_of_global_object_weak_handles_
mstarzinger@chromium.org [Mon, 21 Jan 2013 12:15:31 +0000 (12:15 +0000)]
Remove GlobalHandles::number_of_weak_handles_ and number_of_global_object_weak_handles_

This is a preparation patch for inlining MakeWeak() and Clear().

Given that NumberOfWeakHandles() is used only by CHECK_EQ() in serialized.cc and that NumberOfGlobalObjectWeakHandles is unused, it is wasteful to keep track of number_of_weak_handles_ and number_of_global_object_weak_handles_ at every MakeWeak() and Clear(). Instead, we can count the number at the point where NumberOfWeakHandles() or NumberOfGlobalObjectWeakHandles() is called.

BUG=

Review URL: https://codereview.chromium.org/11958015
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoMoved FlagList::EnforceFlagImplications to V8::InitializeOncePerProcessImpl.
svenpanne@chromium.org [Mon, 21 Jan 2013 12:04:40 +0000 (12:04 +0000)]
Moved FlagList::EnforceFlagImplications to V8::InitializeOncePerProcessImpl.

Cleaned up V8::InitializeOncePerProcessImpl a bit on the way.

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

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

11 years agoMIPS: Additional work to get array literal allocation tracking working, even with...
mvstanton@chromium.org [Mon, 21 Jan 2013 08:30:11 +0000 (08:30 +0000)]
MIPS: Additional work to get array literal allocation tracking working, even with --always-opt

Port r13406 (796a9f11)

BUG=
TEST=

Review URL: https://codereview.chromium.org/12026002
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoPrepare push to trunk. Now working on version 3.16.7.
yangguo@chromium.org [Fri, 18 Jan 2013 16:28:45 +0000 (16:28 +0000)]
Prepare push to trunk.  Now working on version 3.16.7.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoDe-dupe test/mozilla/mozilla.status
jkummerow@chromium.org [Fri, 18 Jan 2013 15:01:53 +0000 (15:01 +0000)]
De-dupe test/mozilla/mozilla.status

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

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

11 years agotools/run-tests.py: Fixes for Windows
jkummerow@chromium.org [Fri, 18 Jan 2013 14:55:23 +0000 (14:55 +0000)]
tools/run-tests.py: Fixes for Windows

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

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

11 years agoTemporarily disable deferred stack trace formatting.
yangguo@chromium.org [Fri, 18 Jan 2013 13:05:03 +0000 (13:05 +0000)]
Temporarily disable deferred stack trace formatting.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agotools/runtests.py: Fix cctests on Windows; properly return error code when there...
jkummerow@chromium.org [Fri, 18 Jan 2013 12:44:36 +0000 (12:44 +0000)]
tools/runtests.py: Fix cctests on Windows; properly return error code when there were Python exceptions

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

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

11 years agoRemove redundant check in LCodeGen::DoBoundsCheck
ulan@chromium.org [Fri, 18 Jan 2013 12:38:42 +0000 (12:38 +0000)]
Remove redundant check in LCodeGen::DoBoundsCheck

R=verwaest@chromium.org

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

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

11 years agoFix test harness to accept camel-case modes.
mstarzinger@chromium.org [Fri, 18 Jan 2013 12:20:59 +0000 (12:20 +0000)]
Fix test harness to accept camel-case modes.

R=jkummerow@chromium.org

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

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

11 years agoMIPS: Fix wrong asserts in SeqStringSetCharGenerator.
yangguo@chromium.org [Fri, 18 Jan 2013 10:54:24 +0000 (10:54 +0000)]
MIPS: Fix wrong asserts in SeqStringSetCharGenerator.

This commit fixes wrong asserts in commit r13230 (1929bb68).

BUG=
TEST=

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

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

11 years agoMIPS: Don't emit code for instructions that are hiding behind an HSoftDeoptimize
jkummerow@chromium.org [Fri, 18 Jan 2013 10:10:36 +0000 (10:10 +0000)]
MIPS: Don't emit code for instructions that are hiding behind an HSoftDeoptimize

Port r13412 (36df819b)

BUG=
TEST=

Review URL: https://codereview.chromium.org/12022005
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoDon't insert HDummyUses for control instructions
jkummerow@chromium.org [Fri, 18 Jan 2013 09:19:11 +0000 (09:19 +0000)]
Don't insert HDummyUses for control instructions

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

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

11 years agoMIPS: Fix if condition in DoTransitionElementsKind.
danno@chromium.org [Fri, 18 Jan 2013 08:53:11 +0000 (08:53 +0000)]
MIPS: Fix if condition in DoTransitionElementsKind.

This commit fixes a couple of mjsunit test failures in debug mode,
which were introduced by commit r11636 (fe0c6bbe).

BUG=
TEST=

Review URL: https://codereview.chromium.org/11941004
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMake the Isolate parameter mandatory in Locker and Unlocker classes.
svenpanne@chromium.org [Fri, 18 Jan 2013 07:20:17 +0000 (07:20 +0000)]
Make the Isolate parameter mandatory in Locker and Unlocker classes.

Note that leaving out the Isolate parameter previously had a very special
meaning, namely "use the *default* Isolate", i.e. the one magically created at
program initialization time. All other API entries use the meaning "current
Isolate", which is different in a multi-threaded setting and confusing.

Temporarily disabled deprecations until Chrome is ready.

BUG=v8:2487

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

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

11 years agoRevert r13409 ("Make the array bounds check elimination phase optional (and set the...
mmassi@chromium.org [Thu, 17 Jan 2013 16:09:08 +0000 (16:09 +0000)]
Revert r13409 ("Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).") because of a crash in octane/mandreel.

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

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

11 years agoAdd a percentage to each metric in the V8 timeline plot
yangguo@chromium.org [Thu, 17 Jan 2013 15:29:36 +0000 (15:29 +0000)]
Add a percentage to each metric in the V8 timeline plot

With the percentage, we can easily figure out how much execution time is spent in what metric.

c.f. https://docs.google.com/a/google.com/file/d/0B7GPzKNdEGeQU04ySy1qOWNuLWs/edit

BUG=

Review URL: https://chromiumcodereview.appspot.com/11975045
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoFix the xrange calculation of the V8 timeline plot
yangguo@chromium.org [Thu, 17 Jan 2013 14:45:58 +0000 (14:45 +0000)]
Fix the xrange calculation of the V8 timeline plot

Currently an xrange is calculated by V8.Execution. This would be fine for JavaScript benchmarks in which everything happens inside of V8.Execution. On the other hand, in Chrome profiling, events can happen outside of V8.Execution. To visualize such outside events, we need to calculate an xrange so that the xrange covers all events.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11973028
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoRemove some unnecessary use of templates.
yangguo@chromium.org [Thu, 17 Jan 2013 14:31:03 +0000 (14:31 +0000)]
Remove some unnecessary use of templates.

R=dcarney@chromium.org
BUG=

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

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

11 years agoDon't emit code for instructions that are hiding behind an HSoftDeoptimize
jkummerow@chromium.org [Thu, 17 Jan 2013 14:07:47 +0000 (14:07 +0000)]
Don't emit code for instructions that are hiding behind an HSoftDeoptimize

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

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

11 years agoRecently I tried to debug CPU profiling on Chrome.
jkummerow@chromium.org [Thu, 17 Jan 2013 13:48:27 +0000 (13:48 +0000)]
Recently I tried to debug CPU profiling on Chrome.

I've found that profiling is not working in Debug version.
The actual problem is that sandbox/playgroung configuration is wrong and tgkill syscalls are disallowed.

This patch will make such cases more clear.

Review URL: https://codereview.chromium.org/11961037
Patch from Eugene Klyuchnikov <eustas@chromium.org>.

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

11 years agoOptimize the emitted instruction of random function for X64
jkummerow@chromium.org [Thu, 17 Jan 2013 13:38:08 +0000 (13:38 +0000)]
Optimize the emitted instruction of random function for X64

Committed: http://code.google.com/p/v8/source/detail?r=13393

Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

11 years agoMake the array bounds check elimination phase optional (and set the foundation for...
mmassi@chromium.org [Thu, 17 Jan 2013 12:39:16 +0000 (12:39 +0000)]
Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).

BUG=

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

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

11 years agoAllow miss in GENERIC keyed load/store.
verwaest@chromium.org [Thu, 17 Jan 2013 12:28:37 +0000 (12:28 +0000)]
Allow miss in GENERIC keyed load/store.

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

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

11 years agoRemove unused methods about Node::class_id_
mstarzinger@chromium.org [Thu, 17 Jan 2013 10:42:17 +0000 (10:42 +0000)]
Remove unused methods about Node::class_id_

BUG=

Review URL: https://codereview.chromium.org/11983002
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoAdditional work to get array literal allocation tracking working, even with --always-opt
mvstanton@chromium.org [Thu, 17 Jan 2013 08:41:27 +0000 (08:41 +0000)]
Additional work to get array literal allocation tracking working, even with --always-opt

BUG=

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

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

11 years agoInline SetWrapperClassId() and WrapperClassId()
mstarzinger@chromium.org [Wed, 16 Jan 2013 16:33:09 +0000 (16:33 +0000)]
Inline SetWrapperClassId() and WrapperClassId()

BUG=
TEST=test-api.cc (WrapperClassId)

Review URL: https://codereview.chromium.org/11961014
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoRemove support for Live Object List and inspector module.
yangguo@chromium.org [Wed, 16 Jan 2013 15:44:26 +0000 (15:44 +0000)]
Remove support for Live Object List and inspector module.

These were introduced in r7012 and r6379.
The reason for this is that both features are not being maintained.
They have been out-of-date for a while.  Test cases do not exist.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoAdd missing VMState(EXTERNAL) for DOM GC callbacks
yangguo@chromium.org [Wed, 16 Jan 2013 15:16:31 +0000 (15:16 +0000)]
Add missing VMState(EXTERNAL) for DOM GC callbacks

BUG=

Review URL: https://chromiumcodereview.appspot.com/11958011
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoSeparate MEGAMORPHIC and GENERIC ic states
verwaest@chromium.org [Wed, 16 Jan 2013 15:02:58 +0000 (15:02 +0000)]
Separate MEGAMORPHIC and GENERIC ic states

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

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

11 years agoCheck that FPU TOP register is zero and clear all exceptions instead of using fninit,
ulan@chromium.org [Wed, 16 Jan 2013 14:54:19 +0000 (14:54 +0000)]
Check that FPU TOP register is zero and clear all exceptions instead of using fninit,
which causes performance regression on Windows.

BUG=168370
R=danno@chromium.org

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

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

11 years agoCleanup latin-1 conversion check in regexp engine
yangguo@chromium.org [Wed, 16 Jan 2013 13:04:07 +0000 (13:04 +0000)]
Cleanup latin-1 conversion check in regexp engine

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11880045
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoRemove some ascii checks in advance of latin-1 release
yangguo@chromium.org [Wed, 16 Jan 2013 12:52:27 +0000 (12:52 +0000)]
Remove some ascii checks in advance of latin-1 release

BUG=

Review URL: https://chromiumcodereview.appspot.com/11880017
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoAvoid pointer underflow in CopyCharsUnsigned.
yangguo@chromium.org [Wed, 16 Jan 2013 12:27:38 +0000 (12:27 +0000)]
Avoid pointer underflow in CopyCharsUnsigned.

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

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

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

11 years agoImplement Context::GetIsolate()
svenpanne@chromium.org [Wed, 16 Jan 2013 12:11:43 +0000 (12:11 +0000)]
Implement Context::GetIsolate()

BUG=
TEST=test-api.cc (IsolateOfContext)

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

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

11 years agoRevert "Optimize the emitted instruction of random function for X64"
jkummerow@chromium.org [Wed, 16 Jan 2013 11:45:08 +0000 (11:45 +0000)]
Revert "Optimize the emitted instruction of random function for X64"

This reverts r13393.

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

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

11 years agoMIPS: Some more instrumentation to narrow down Failure leaks.
jkummerow@chromium.org [Wed, 16 Jan 2013 10:50:01 +0000 (10:50 +0000)]
MIPS: Some more instrumentation to narrow down Failure leaks.

Port r13341 (673c3243)

Original commit message:
The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11972002
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoRecord vdso and vsyscall as shared libraries in OS::LogSharedLibraryAddresses on...
jkummerow@chromium.org [Wed, 16 Jan 2013 10:46:34 +0000 (10:46 +0000)]
Record vdso and vsyscall as shared libraries in OS::LogSharedLibraryAddresses on Linux

Review URL: https://codereview.chromium.org/11879036
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoOptimize the emitted instruction of random function for X64
jkummerow@chromium.org [Wed, 16 Jan 2013 10:35:24 +0000 (10:35 +0000)]
Optimize the emitted instruction of random function for X64

Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

11 years agoGenerate shim headers when using system v8.
jkummerow@chromium.org [Wed, 16 Jan 2013 10:16:46 +0000 (10:16 +0000)]
Generate shim headers when using system v8.

BUG=chromium:165264

Review URL: https://codereview.chromium.org/11642006
Patch from PaweÅ‚ Hajdan Jr. <phajdan.jr@chromium.org>.

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

11 years agoInline MarkIndependent(), MarkPartiallyDependent(), IsIndependent()
mstarzinger@chromium.org [Wed, 16 Jan 2013 10:10:53 +0000 (10:10 +0000)]
Inline MarkIndependent(), MarkPartiallyDependent(), IsIndependent()

TEST=test-api.cc (IndependentWeakHandle, ApiObjectGroupsCycleForScavenger)

Review URL: https://codereview.chromium.org/11879044
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoMIPS: Remove move ascii data hint for one byte strings
yangguo@chromium.org [Wed, 16 Jan 2013 10:05:15 +0000 (10:05 +0000)]
MIPS: Remove move ascii data hint for one byte strings

Port r13375 (198859e8)

Original commit message:
This is mostly a rollback of r12966 [Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]

BUG=
TEST=

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

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

11 years agoMIPS: Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
yangguo@chromium.org [Wed, 16 Jan 2013 10:00:31 +0000 (10:00 +0000)]
MIPS: Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.

Port r13344 (e5638dd9)

BUG=
TEST=

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

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

11 years agoFix arguments materialization for inlined apply().
mstarzinger@chromium.org [Wed, 16 Jan 2013 09:25:45 +0000 (09:25 +0000)]
Fix arguments materialization for inlined apply().

This fixes materialization of the arguments object in case the constant
function check if TryCallApply() inside an inlined frame fails.

R=svenpanne@chromium.org
BUG=v8:2489
TEST=mjsunit/regress/regress-2489

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

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

11 years agoAdd some runtime checks to MayNamedAccess
svenpanne@chromium.org [Wed, 16 Jan 2013 08:54:04 +0000 (08:54 +0000)]
Add some runtime checks to MayNamedAccess

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11877027
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoPack GlobalHandles::Node::state_ and three flags into uint8_t
mstarzinger@chromium.org [Tue, 15 Jan 2013 10:26:48 +0000 (10:26 +0000)]
Pack GlobalHandles::Node::state_ and three flags into uint8_t

TEST=test-api.cc (ApiObjectGroupsCycle, ApiObjectGroupsCycleForScavenger, IndependentWeakHandle)

Review URL: https://codereview.chromium.org/11875015
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoSync laziness between BuildFunctionInfo and MakeFunctionInfo.
yangguo@chromium.org [Tue, 15 Jan 2013 10:16:52 +0000 (10:16 +0000)]
Sync laziness between BuildFunctionInfo and MakeFunctionInfo.

BuildFunctionInfo compiles the function eagerly when there are debug
break points. However, the AST may have been parsed lazily since
MakeFunctionInfo does not check for debug break points.

This fixes a regression introduced in r11866.

BUG=147497

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

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

11 years agoFix windows build wrt symbol export.
yangguo@chromium.org [Tue, 15 Jan 2013 10:04:18 +0000 (10:04 +0000)]
Fix windows build wrt symbol export.

R=dcarney@chromium.org
BUG=

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

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

11 years agoAdd sanity check to CodeFlusher::AddCandidate.
mstarzinger@chromium.org [Tue, 15 Jan 2013 10:00:48 +0000 (10:00 +0000)]
Add sanity check to CodeFlusher::AddCandidate.

R=hpayer@chromium.org
BUG=chromium:169209

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.6.
yangguo@chromium.org [Tue, 15 Jan 2013 09:30:04 +0000 (09:30 +0000)]
Prepare push to trunk.  Now working on version 3.16.6.

R=ulan@chromium.org
BUG=

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

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

11 years agoAdd back ascii fast path for toupper/tolower
yangguo@chromium.org [Tue, 15 Jan 2013 09:22:14 +0000 (09:22 +0000)]
Add back ascii fast path for toupper/tolower

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11889007
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoRemove move ascii data hint for one byte strings
yangguo@chromium.org [Mon, 14 Jan 2013 15:17:56 +0000 (15:17 +0000)]
Remove move ascii data hint for one byte strings

This is mostly a rollback of r12966
[Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11857015
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoRemoved deprecated functions from v8's external API.
svenpanne@chromium.org [Mon, 14 Jan 2013 13:41:08 +0000 (13:41 +0000)]
Removed deprecated functions from v8's external API.

Removed the following deprecated functions:

   * Object::GetPointerFromInternalField
   * Object::SetPointerInInternalField
   * External::Wrap
   * External::Unwrap
   * Context::GetData
   * Context::SetData

They have been deprecated in the 3.15 branch and are not used by Chrome anymore.
Furthermore, judging from bug reports and email threads, embedders like node.js
and others are already using 3.15, too. All removed API entries can be emulated
by a one-liner, so adapting should not be hard for anybody.

We want to introduce more deprecations soon, but to keep things simple and avoid
having old and not-so-old deprecations in v8.h, the 3.15 deprecations are now
removed.

In general, the strategy of keeping deprecated things for one stable release and
then removing them seems to be a good compromise between a maintenance nightmare
and annoying external embedders. :-)

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

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

11 years agoReland r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
yangguo@chromium.org [Mon, 14 Jan 2013 13:19:27 +0000 (13:19 +0000)]
Reland r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).

BUG=

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

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

11 years agoThe time spent in GCPrologue callbacks and GCEpilogue callbacks should be measured...
mstarzinger@chromium.org [Mon, 14 Jan 2013 12:59:41 +0000 (12:59 +0000)]
The time spent in GCPrologue callbacks and GCEpilogue callbacks should be measured as EXTERNAL time

BUG=

Review URL: https://codereview.chromium.org/11817044
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoPrepare API for webkit use of Latin-1
yangguo@chromium.org [Mon, 14 Jan 2013 11:22:05 +0000 (11:22 +0000)]
Prepare API for webkit use of Latin-1

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11852019
Patch from Dan Carney <dcarney@google.com>.

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