Commit Graph

17415 Commits

Author SHA1 Message Date
verwaest@chromium.org
9b3f0cbcb5 Move function prototype handling into a special handler rather than IC
Adjust hydrogen handling of function.prototype to be based on map feedback. Handle non-instance prototype loading using an IC rather than in the hydrogen instruction. In the future, remove the special instruction and replace by multiple hydrogen instructions.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 14:27:53 +00:00
jochen@chromium.org
9cabfc4a65 Skip test262 tests failing on Mac
BUG=none
TBR=machenbach@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 12:56:53 +00:00
jochen@chromium.org
a9462576d6 Update ICU to 5.2 (matching chromium)
BUG=v8:3452
R=svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 12:27:59 +00:00
jkummerow@chromium.org
7024980851 SlotRef::GetValue INT32 case needs to be 64bit big endian aware
On 64bit big endian systems fetch the correct 32bits from the slot

BUG=v8:3449
LOG=N
R=jkummerow@chromium.org

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

Patch from Andrew Low <andrew_low@ca.ibm.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 11:35:49 +00:00
yangguo@chromium.org
54b2f8da53 Add profiling to code serializer.
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 10:35:38 +00:00
verwaest@chromium.org
a973e3a16e Update test and rebaseline
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 09:44:56 +00:00
machenbach@chromium.org
1b8073ca3e [Auto-roll] Bump up version to 3.28.32.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 09:19:05 +00:00
verwaest@chromium.org
3bba0204c0 Support setting named properties on non-JSObjects.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 08:28:49 +00:00
svenpanne@chromium.org
837b758b5f Revert "Set the state of a swept page after being done with sweeping."
This reverts commit r22514, it broke the GC stress builder.

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 07:19:46 +00:00
hpayer@chromium.org
e01c396226 Set the state of a swept page after being done with sweeping.
BUG=
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 19:24:02 +00:00
paul.lind@imgtec.com
dc9d6e7a25 MIPS: Introduce FLAG_vector_ics.
Port r22500 (8fd2751)

Original commit message:
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.

Support is incomplete, right now the IC doesn't know how to use the feedback
slot.

BUG=
R=paul.lind@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 19:09:56 +00:00
rmcilroy@chromium.org
79d7803555 [Arm]: Assert that movw/movt is only emitted for Armv7 targets
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 16:20:19 +00:00
verwaest@chromium.org
85bc602912 Reduce usage of StoreMode.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 16:01:50 +00:00
verwaest@chromium.org
f9d631b4bf Rename CurrentMapForDeprecated to TryUpdate, and introduce Map::Update which potentially deprecates
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 15:59:05 +00:00
rmcilroy@chromium.org
8968425caa Add CXX cross-compile detection into Makefile after it was removed from gyp.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 15:25:50 +00:00
hpayer@chromium.org
5d67af1eb5 Enable object evacuation verifier. Perform verification of evacuation candidates when sweeping is done.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 15:12:19 +00:00
yangguo@chromium.org
1bebc5908e Use 0 instead of undefined for uninitialized stub key.
The CPU profiler looks at uninitialized code objects, which triggers an assertion.

TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 13:51:42 +00:00
yangguo@chromium.org
a5449405dd Small improvement to String.fromCodePoint.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 13:18:44 +00:00
yangguo@chromium.org
3b9f5e86d4 Store both major and minor key on code stubs.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 13:10:14 +00:00
mstarzinger@chromium.org
bc6ed15a5a Fix HSourcePosition when --hydrogen-track-positions is used.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 13:09:11 +00:00
rossberg@chromium.org
c26920b22b Missing runtime test
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 12:20:05 +00:00
machenbach@chromium.org
853c8bb58a [Auto-roll] Bump up version to 3.28.31.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 12:14:36 +00:00
machenbach@chromium.org
049b4ad5e4 Fix automatic version update.
This fixes two things:
1. Guarantee that versions are bumped up also when presubmit errors exists. Those errors originate from other CLs and should not stop the automatic versioning.
2. Calculate the last bleeding edge version when pushing to trunk based on remote branch svn/bleeding_edge and not on local branch master. The master branch is not kept up-to-date by the script.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 12:13:36 +00:00
mvstanton@chromium.org
6d3fc8a322 Introduce FLAG_vector_ics.
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.

Support is incomplete, right now the IC doesn't know how to use the feedback
slot.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 11:19:56 +00:00
hpayer@chromium.org
81bc2f95e7 Always sweep precisely.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:39:10 +00:00
Jacob.Bramley@arm.com
0e41b8661f ARM64: never record safepoint with doubles
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:31:23 +00:00
rossberg@chromium.org
2dc3d0bdc6 Remove harmony-typeof
This was an early experiment in the Harmony era that turned out to
not be compatible with the web.

BUG=None
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:20:54 +00:00
Jacob.Bramley@arm.com
e4d4f1d5d2 ARM: never record safepoint with doubles
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:15:08 +00:00
rossberg@chromium.org
8023c9f564 Implement basic code generation for arrow functions
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.

BUG=v8:2700
LOG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
jkummerow@chromium.org
78c639cd7b Fix off-by-one error in Array.concat slow mode check
BUG=chromium:395499
LOG=n
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:42:21 +00:00
yangguo@chromium.org
1eacdd55a0 Implement String.prototype.codePointAt and String.fromCodePoint.
Contributed by Mathias Bynens <mathiasb@opera.com>.

TBR=mathiasb@opera.com, rossberg@chromium.org
BUG=v8:2840
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:45:32 +00:00
yangguo@chromium.org
219e763155 Expose the content of Maps and WeakMaps through MapMirror.
BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=22452

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:07:04 +00:00
paul.lind@imgtec.com
c18a36fd96 MIPS64: Correct register use.
TEST: mozilla/js1_5/Regress/regress-366601.
TEST: mozilla/ecma_3/ExecutionContexts/10.1.3-1

BUG=
R=paul.lind@imgtec.com

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

Patch from Yu Yin <xwafish@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 03:09:19 +00:00
weiliang.lin@intel.com
02247b18c0 X87: Cache IC handlers on the prototype's map if possible
port r22483

original commit message:

  Cache IC handlers on the prototype's map if possible

  instead of on the receiver's map. Lazily overwrite cached handler if it is
  identical to the handler that just missed.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 02:57:42 +00:00
verwaest@chromium.org
907086597e Migrate to current map if deprecated in SetProperty
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-19 12:00:20 +00:00
balazs.kilvady@imgtec.com
6e824b6003 MIPS: Cache IC handlers on the prototype's map if possible.
Port r22483 (6dd09cb)

Original commit message:
Instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 17:11:52 +00:00
jkummerow@chromium.org
1211f606ae Cache IC handlers on the prototype's map if possible
instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:50:21 +00:00
verwaest@chromium.org
7e29b64e27 Reimplement SetProperty using the LookupIterator
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:47:25 +00:00
mstarzinger@chromium.org
9d2609fe98 Reland "Make v8::TryCatch able to consume natively thrown exceptions."
R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:28:12 +00:00
hpayer@chromium.org
56fcbc4d65 Always sweep precisely off.
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:51:21 +00:00
machenbach@chromium.org
d9fa8f77e8 Add automatic tag script.
The script can be run in a cron job to automatically tag
lkgrs.

BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/auto_tag.py --dry_run
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:16:14 +00:00
hpayer@chromium.org
4c136e0baa Always sweep precisely.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:04:48 +00:00
hpayer@chromium.org
cb52b98637 Wait for sweeper threads when verifying the heap.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:00:11 +00:00
dcarney@chromium.org
353ab8e1be Revert "Bootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove all refs to context"
This reverts r22460 for potentially breaking the mac webkit build.

TBR=titzer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:47:35 +00:00
rmcilroy@chromium.org
fb3128f3f8 Really fix the arm builder bots by copying android_webview_build out one scope in toolchain.gypi
Move android_webview_build variable to toolchain.gypi to fix arm builders.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:36:40 +00:00
hpayer@chromium.org
1afdbb396c Fix 64-bit compile.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:30:50 +00:00
hpayer@chromium.org
6067ca6a62 Concurrent/parallel precise sweeping.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:04:20 +00:00
rmcilroy@chromium.org
d09d81f977 Move android_webview_build variable to toolchain.gypi to fix arm builders.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:54:33 +00:00
rmcilroy@chromium.org
9d5bd59204 Fix the android_webview build's gyp files after the changes in r22444.
The android_webview get's it's compiler flags from the Android build system,
so we should not be setting these flags in gyp when building the webview.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:17:01 +00:00
Jacob.Bramley@arm.com
38cb7830aa Unravel kHeapObjectTagSize from the stub cache.
The stub cache used kHeapObjectTagSize to scale indices, but there
doesn't appear to be a direct need for this. Instead, the stub cache has
its own kCacheIndexShift quantity.

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 09:57:39 +00:00