yangguo@chromium.org
e536abb777
Handle non-constant divisor in MathFloorOfDiv, on ia32/x64
...
Zheng Liu
zheng.z.liu@intel.com
Review URL: https://chromiumcodereview.appspot.com/11624022
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 15:52:17 +00:00
ulan@chromium.org
eb27eb0351
Enable type feedback for branch statement and function call
...
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.
Review URL: https://chromiumcodereview.appspot.com/11635046
Patch from Jay Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 15:14:44 +00:00
danno@chromium.org
3526c6be98
Use EXTERNAL_REFERENCE instead of RUNTIME_ENTRY for Runtime::PerformGC and
...
CallApiFunctionAndReturn in X64
Review URL: https://codereview.chromium.org/11694008
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 14:36:55 +00:00
ulan@chromium.org
a7f9c491dc
Use VLDR instead of VMOVs from GPR when a 64-bit double can't be encoded as a VMOV immediate.
...
This requires constant blinding before it can be enabled. There are other interesting optimizations that can be added later, detailed in a TODO.
BUG=optimization
R=ulan@chromium.org ,mstarzinger@chromium.org, hwennborg@google.com
Review URL: https://chromiumcodereview.appspot.com/11191029
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 13:34:15 +00:00
danno@chromium.org
2e6a7c733b
postmortem: export kSmiShiftSize
...
Right now it's impossible to figure out from headers that smis are left shifted
by 31 bit on x64, and only then tagged.
R=erik.corry@gmail.com
Review URL: https://codereview.chromium.org/11676005
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 13:06:08 +00:00
danno@chromium.org
17326e8746
Refactor and improve inlined double-aligned allocations
...
Change is performance neutral but generates smaller code and encapsulates double alignment in the macro-assembler rather than at the allocation site.
Review URL: https://codereview.chromium.org/11684005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 11:09:16 +00:00
ulan@chromium.org
0aee912480
Prepare push to trunk. Now working on version 3.16.2.
...
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11675006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 15:56:02 +00:00
danno@chromium.org
9307f8ea30
Fix SSE2 debug asserts in LayoutTests
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/11675005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 15:40:34 +00:00
yangguo@chromium.org
2f821f1ed9
Revert r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11678006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 13:12:27 +00:00
yangguo@chromium.org
074038058a
Add kNumberStringCacheRootIndex into writable_roots
...
Review URL: https://chromiumcodereview.appspot.com/11660028
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 10:11:08 +00:00
yangguo@chromium.org
121f3f6020
Revert r13275 and 13276 (Remove most uses of StringInputBuffer).
...
This is due to test failures in test-mark-compact/BootUpMemoryUse.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11688003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 10:03:17 +00:00
yangguo@chromium.org
6e6140728b
Fix build warnings.
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11669020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-24 08:52:32 +00:00
yangguo@chromium.org
7f074acd8d
Remove most uses of StringInputBuffer
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11638037
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-24 08:29:48 +00:00
vegorov@chromium.org
6b7fe028e9
Fix typo in the CheckSSE2OperandIsInt32: use bitwise not instead of integer negation.
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11662009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 18:16:27 +00:00
ulan@chromium.org
b64f834383
Fix x64 MathMinMax for negative untagged int32 arguments.
...
An untagged int32 has zeros in the upper half even if it is negative.
Using cmpq to compare such numbers will incorrectly ignore the sign.
BUG=164442
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11665007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 17:52:00 +00:00
adamk@chromium.org
d14b05a38d
Basic test for interaction of Object.observe and hidden prototypes
...
The test simply shows the current behavior, not necessarily what we
want the behavior to be.
Review URL: https://codereview.chromium.org/11635033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 17:40:09 +00:00
svenpanne@chromium.org
6ad15b88be
Fixed typing confusion found by GCMole
...
Review URL: https://codereview.chromium.org/11668006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 14:28:33 +00:00
svenpanne@chromium.org
9c7bb6da23
Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
...
BUG=v8:2458
Review URL: https://codereview.chromium.org/11660010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 14:01:53 +00:00
svenpanne@chromium.org
c024ba9a90
Fixed x64 disassembler for cmpb_al
...
Review URL: https://codereview.chromium.org/11666007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 13:50:17 +00:00
svenpanne@chromium.org
e6141a84eb
Added (dis-)assembler support for movmskps on ia32 and x64.
...
Review URL: https://codereview.chromium.org/11664007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 13:47:08 +00:00
yangguo@chromium.org
beec898b05
Fast-forward version 3.15.12 to 3.16.0.
...
Now working on 3.16.1.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11659010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 13:44:40 +00:00
yangguo@chromium.org
ee21013534
Prepare push to trunk. Now working on version 3.15.13.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11665006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 12:33:30 +00:00
svenpanne@chromium.org
93998c58ef
Refactoring only: Use CheckSSE2OperandIsInt32 instead of copy-n-paste code.
...
Review URL: https://codereview.chromium.org/11666004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 10:19:42 +00:00
svenpanne@chromium.org
3cff9a2a4a
Refactored deopt tracing and FindOptimizedCode. Fixed a bug when printing stubs.
...
Review URL: https://codereview.chromium.org/11636046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 07:18:56 +00:00
danno@chromium.org
6323bb3e38
MIPS: ARM: fix a bug with saving lr register in GenerateSmiToDouble.
...
Port r13107 (63aea0a3)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11574013
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 17:07:38 +00:00
danno@chromium.org
653a66f527
ARM: Use division instructions in lithium and stubs
...
BUG=none
TEST=Added to test/mjsunit/math-floor-of-div.js, math-floor-of-div-nosudiv.js
Review URL: https://codereview.chromium.org/11316105
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 16:31:19 +00:00
yangguo@chromium.org
a3f16f8e65
Fix several bugs in error stack trace formatting.
...
GetScriptWrapper can be called recursively:
GetScriptWrapper -> GC -> DeferredFormatStackTrace -> GetScriptWrapper
GC-unsafe code in ErrorObjectList::DeferredFormatStackTrace
Enable overwriting Error.prepareStackTrace by itself while not
causing infinity recursion when it triggers an exception.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11649037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 16:25:26 +00:00
rossberg@chromium.org
97eba9d3cd
Object.observe: fix observation for optimised in/decrement and compound assignment.
...
R=svenpanne@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/11642042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 15:03:30 +00:00
rossberg@chromium.org
d2ed67a958
Object.observe: temporarily disable one test to unbreak ARM.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11646004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 14:12:41 +00:00
danno@chromium.org
09fec366f8
Remove redundant loads in DoCheckMaps
...
Hoist the loop-invariant load out of the loop and call the other CheckMap function
BUG=none
TEST=none
Committed: https://code.google.com/p/v8/source/detail?r=13200
Review URL: https://codereview.chromium.org/11369014
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 14:05:14 +00:00
svenpanne@chromium.org
3d123fdfe2
Refactoring only: Extracted a method for finding optimized code.
...
Review URL: https://codereview.chromium.org/11637036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 13:05:16 +00:00
svenpanne@chromium.org
9b00a57a92
Refactoring only: Extracted method to print deopt location.
...
Review URL: https://codereview.chromium.org/11640041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 11:53:42 +00:00
svenpanne@chromium.org
49a791a1b1
Refactoring only: Move stuff to DeoptimizerData where it belongs. Use "for".
...
Review URL: https://codereview.chromium.org/11637034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:47:09 +00:00
yangguo@chromium.org
4cb7b83466
Fix windows build errors.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11637033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:33:55 +00:00
yangguo@chromium.org
eedcaf1866
Remove Utf8InputBuffer
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11649018
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:20:37 +00:00
yangguo@chromium.org
9eccd63ccc
Fix ARM code for DoModI.
...
R=ulan@chromium.org
BUG=166379
Review URL: https://chromiumcodereview.appspot.com/11618020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:07:05 +00:00
adamk@chromium.org
354fc4abe5
Object.observe: test mutating an object via the API
...
Review URL: https://codereview.chromium.org/11598014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 17:02:12 +00:00
rossberg@chromium.org
75dac95604
Fix treatment of hidden prototypes in SetProperty.
...
R=svenpanne@chromium.org
BUG=v8:2457
Review URL: https://codereview.chromium.org/11644021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 15:17:01 +00:00
yangguo@chromium.org
a2a002be0d
Fix windows compile warnings.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11636016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 13:57:51 +00:00
yangguo@chromium.org
17a54b61fe
Fix compile warning.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11642020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 13:38:00 +00:00
yangguo@chromium.org
9569b20db2
Replace the use CharacterStreams in Heap::AllocateSymbolInternal and String::ComputeHash
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11593007
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 13:27:20 +00:00
yangguo@chromium.org
362218a037
Deopt on overflow in integer mod.
...
R=ulan@chromium.org
BUG=166379
Review URL: https://chromiumcodereview.appspot.com/11618017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 12:01:22 +00:00
rossberg@chromium.org
b25c040c2c
Extend API to allow setting length property for function templates.
...
R=yangguo@chromium.org
BUG=125308
Review URL: https://codereview.chromium.org/11631002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 10:28:36 +00:00
rossberg@chromium.org
c9da5fadcb
Object.observe: Change semantics of deliverChangeRecords to iterate.
...
Added test for recursive change generation.
R=yangguo@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/11593028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 09:51:46 +00:00
svenpanne@chromium.org
7e82c93cd2
Unbreak --trace-codegen
...
Review URL: https://codereview.chromium.org/11571055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 09:31:12 +00:00
svenpanne@chromium.org
14bba78b54
Fixed resizing of deopt table
...
BUG=chrome:166554
Review URL: https://codereview.chromium.org/11617018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 07:36:38 +00:00
danno@chromium.org
1f4b4625ff
Re-land Crankshaft-generated KeyedLoad stubs.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11528003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 16:25:45 +00:00
ulan@chromium.org
8574054b59
Correctly handle negative codes in String.fromCharCode()
...
BUG=166553
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11576069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 12:37:57 +00:00
rossberg@chromium.org
c6bb497437
Simplify implementation of assignment-to-const checks.
...
Also, add test that assignment to function name is a syntax error with harmony scoping.
Does not fix issue 2243 directly, but with ES6, the required behaviour will change to what is implemented already anyway.
R=yangguo@chromium.org
BUG=v8:2243
Review URL: https://codereview.chromium.org/11607016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 12:00:50 +00:00
svenpanne@chromium.org
180a57a272
Made store buffer compaction more predictable.
...
Review URL: https://codereview.chromium.org/11593026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 10:54:15 +00:00