lrn@chromium.org
fb039823ce
X64: Make SmiCompare use the Smi-register when possible.
...
Review URL: http://codereview.chromium.org/3104007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 14:23:12 +00:00
ricow@chromium.org
8402db12c9
Change lazy compilation stub to a builtin.
...
This change changes the lazy compilation stub to a builtin and
eliminates the argc (argument count for the function for which to
create a lazy stub) parameter.
Review URL: http://codereview.chromium.org/3146008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 13:48:58 +00:00
sgjesse@chromium.org
fcfe6d74d9
Minor change to for-in
...
Return (smi) 0 instead of object null from the FILTER_KEY builtin.
Add a test which tests keys being deleted during for-in.
Review URL: http://codereview.chromium.org/3170004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 13:46:10 +00:00
vegorov@chromium.org
7d20398fd3
Prepare push to trunk. Now working on version 2.3.8.
...
Review URL: http://codereview.chromium.org/3166005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 13:12:56 +00:00
vegorov@chromium.org
fd4f1d0bfb
Fix compilation with strict aliasing enabled on GCC 4.4.1
...
Review URL: http://codereview.chromium.org/3166006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 13:01:28 +00:00
sgjesse@chromium.org
15d7325338
ARM: Remove some spill scopes
...
Review URL: http://codereview.chromium.org/3119005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 10:55:44 +00:00
lrn@chromium.org
abcf1012c6
Allow compiling with strict aliasing enabled on GCC 4.4.
...
Patch by Jay Freeman.
Fixes issue 463.
Review URL: http://codereview.chromium.org/3117007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 10:52:34 +00:00
mikhail.naganov@gmail.com
5e28c3e620
Heap profiler: enforce compaction before taking a snapshot.
...
Review URL: http://codereview.chromium.org/3118007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 09:54:30 +00:00
mikhail.naganov@gmail.com
0765b6ea3e
Fix issue 822: handling of JSObject::elements in CalculateNetworkSize.
...
BUG=822
TEST=test-heap-profiler/Issue822
Review URL: http://codereview.chromium.org/3128004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 09:03:23 +00:00
ricow@chromium.org
a6c69bf6ff
Bump the kPartialSnapshotCacheCapacity to 1400 to fix testing with snapshot on.
...
Review URL: http://codereview.chromium.org/3172003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 08:43:15 +00:00
ricow@chromium.org
36e5743674
Put direct code pointers into JSFunction objects. This is a first step
...
in allowing more flexible compilation and to simplify builtins lookup.
This changes a number of places where code objects are assigned to
SharedFunctionInfo objects to also assign this code object to the
JSFunction. In addition, the code flushing is changed slightly to
accomodate this (we need to flush the code from functions pointing to
SharedFunctionInfo objects that has already been flushed).
Review URL: http://codereview.chromium.org/3120006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 08:12:53 +00:00
lrn@chromium.org
6267578925
Removed support for object literal get/set with number/string property name.
...
It doesn't work correctly for array indices.
Review URL: http://codereview.chromium.org/3109002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 12:44:13 +00:00
erik.corry@gmail.com
bdfdf8bee9
Fix fuzzer-found error where left and right were the same register in bitops.
...
Review URL: http://codereview.chromium.org/3115004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 12:30:14 +00:00
mikhail.naganov@gmail.com
4bbf058d53
Fix CPU profiler crash in start / stop sequence when non-existent name is passed
...
BUG=51594
TEST=test-cpu-profiler/CrashIfStoppingLastNonExistentProfile
Review URL: http://codereview.chromium.org/3108004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 12:06:42 +00:00
sgjesse@chromium.org
f75e7855b7
Remove a couple of spill scopes
...
Review URL: http://codereview.chromium.org/3015066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 11:52:18 +00:00
antonm@chromium.org
57769489d5
First phase of migration to new indexed property query callbacks.
...
Eventually indexed property query callbacks will return attributes
(as an integer) or an empty handle if property is not intercepted.
To gradually migrate to this new API, USE_NEW_QUERY_CALLBACK
macro would control if old or new style API is used.
So the migration plan is:
1) introduce new API which should be explictily enabled;
2) switch to new API defining USE_NEW_QUERY_CALLBACK before
include of <v8.h> (that would require changes to client code as well)
3) remove old API from v8
4) remove #define USE_NEW_QUERY_CALLBACK from clients.
BUG=http://code.google.com/p/v8/issues/detail?id=816
Review URL: http://codereview.chromium.org/3101001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 10:05:18 +00:00
antonm@chromium.org
59645c6a19
Add v8::Value::IsRegExp method.
...
Patch by Vlad Burlik.
Review URL: http://codereview.chromium.org/3064051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 09:53:56 +00:00
mikhail.naganov@gmail.com
64eade00e7
Enable static assertions in release mode.
...
Review URL: http://codereview.chromium.org/3146004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 09:22:49 +00:00
mikhail.naganov@gmail.com
2bb3fa2ae0
Fix lint issue.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 07:37:59 +00:00
mikhail.naganov@gmail.com
bdf15ec9f3
Heap profiler: Add static assertions for heap snapshot entities' sizes.
...
Review URL: http://codereview.chromium.org/2808112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 07:30:14 +00:00
mikhail.naganov@gmail.com
31fd432f2d
A follow-up to r5211: fix a couple of issues detected on Windows.
...
- storage of enums in bit fields;
- removing dead entries from address -> id map in HeapObjectsMap;
- layout of HeapEntry, to avoid class size increase on ia32 due to alignment;
Review URL: http://codereview.chromium.org/3096008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 14:57:13 +00:00
ager@chromium.org
9677b96b7b
Fix bug in binary operations code. When loading a 32-bit integer as a
...
64-bit integer to the stack, the high and low parts of the 64-bit
value were pushed in the wrong order.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/3010060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 14:54:23 +00:00
erik.corry@gmail.com
751ec5d099
IA32: Avoid going into stubs or runtime code for bitops even if the
...
inputs are heap numbers or the result is a heap number (only with
SSE2). Make it possible for a deferred code object to work without
spilling all registers.
Review URL: http://codereview.chromium.org/3054047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 13:12:02 +00:00
lrn@chromium.org
df8b3eb742
Fix cast that fails to build on Windows.
...
Review URL: http://codereview.chromium.org/3044055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 12:44:48 +00:00
ricow@chromium.org
44425bcc03
Change dos line endings to unix line endings in a number of mjsunit test files.
...
Review URL: http://codereview.chromium.org/3072031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 12:21:50 +00:00
mikhail.naganov@gmail.com
1695003bb9
Heap profiler: reduce heap snapshots size.
...
The size of a snapshot is now 65-80% of the JS heap size (tested on
GMail and Wave), previously it was >200%.
BUG=783
Review URL: http://codereview.chromium.org/3060008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 11:37:24 +00:00
lrn@chromium.org
c38336571c
Prepare push to trunk. Now working on version 2.3.7.
...
Review URL: http://codereview.chromium.org/3017063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 09:20:35 +00:00
lrn@chromium.org
53690b68fa
Changed layout of object literal parser.
...
Review URL: http://codereview.chromium.org/3032064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-09 08:54:29 +00:00
lrn@chromium.org
53e22e386c
Create a new RegExp object for every evaluation of a RegExp literal.
...
Changes necessary to following ES5 semantics and matching Safari - in ES3
the same RegExp object was generated by each evaluation of the RegExp literal.
Fixes bug 704.
Review URL: http://codereview.chromium.org/3034060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-06 13:04:27 +00:00
erik.corry@gmail.com
b69db81f3a
Fix bug 813, harmless assert triggered by ARM inside o3d.
...
Review URL: http://codereview.chromium.org/2868112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-06 09:04:17 +00:00
kaznacheev@chromium.org
70d3296087
Reapplying r5174 (Avoid GC when compiling CallIC stubs).
...
I could not find a way to introduce simple yet useful assertions,
so I removed the assertions that broke tests.
The new patch just fixes the actual problem (GC triggered while raw pointers
are held in LookupResult).
Review URL: http://codereview.chromium.org/3030049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-06 08:49:59 +00:00
sgjesse@chromium.org
88b19a9d0c
Re-apply r5165 (Added support for ES5's propertyname production)
...
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/3073031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-06 08:03:44 +00:00
antonm@chromium.org
300580d5d8
Check ASCIIness of lhs, not this.
...
In one pathalogical case it's possible to have this->IsAsciiRepresentation() &&
!this->TryFlattenGetString()->IsAsciiRepresentation()---if cons string has two byte
string which holds only ascii chars and second is an empty string. In this case we
would return first which is not AsciiRepresentation(), however cons is.
Review URL: http://codereview.chromium.org/3036046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 18:12:39 +00:00
sgjesse@chromium.org
1844e149ab
Revert r5165 (Added support for ES5's propertyname production)
...
This is to test in Chromium without this change.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/3027043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 14:46:34 +00:00
antonm@chromium.org
791fa08ab7
Add information about memory allocator's size and capacity and heap snapshot into heap stats.
...
That might help us debug OOM crashes in V8.
Review URL: http://codereview.chromium.org/3046049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 14:12:50 +00:00
vegorov@chromium.org
bed254fac9
Do not apply JS_RETURN and DEBUG_BREAK_SLOT relocations on x64.
...
Improve tests for debug API to check behavior of JS_RETURN and DEBUG_BREAK_SLOT relocations.
Review URL: http://codereview.chromium.org/3058049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 13:38:27 +00:00
sgjesse@chromium.org
31f3026b35
Fix GCC 4.4.4 build
...
Force a number functions to not inline in order th work around a bug in GCC 4.4.4.
See http://codereview.chromium.org/3083016 for more info.
Review URL: http://codereview.chromium.org/3034056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 12:34:53 +00:00
vegorov@chromium.org
2ba27d2201
Add RelocInfo::DEBUG_BREAK_SLOT to RelocInfo::kApplyMask on ia32/x64 to ensure that debug break slots get relocated correctly during compacting GC.
...
Review URL: http://codereview.chromium.org/3058048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 11:39:01 +00:00
vegorov@chromium.org
1920692d71
Revert r5174.
...
Review URL: http://codereview.chromium.org/2868108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 11:19:43 +00:00
sgjesse@chromium.org
a1a3aa46a2
Object.seal(obj) and Object.freeze(obj) should return the input obj.
...
BUG=http://code.google.com/p/v8/issues/detail?id=809
TEST=Seal/freeze an object and check if Object.seal and Object.freeze returns the given object.
Burcu Dogan <burcujdogan@gmail.com>
Review URL: http://codereview.chromium.org/3056049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 10:56:15 +00:00
whesse@chromium.org
d25d40aa5c
Modify polymorphic keyed load IC stub to load cached properties from the property array of a fast-case JSObject.
...
Review URL: http://codereview.chromium.org/3053042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 10:45:07 +00:00
kaznacheev@chromium.org
5f78dc14c8
Avoid GC when compiling CallIC stubs.
...
In rare cases GC could be called from ComputeCallMiss function thus
breaking CallIC::LoadFunction.
Review URL: http://codereview.chromium.org/3047027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 08:37:12 +00:00
sgjesse@chromium.org
9ba89856d6
Prepare push to trunk. We are now working on 2.3.6.
...
Review URL: http://codereview.chromium.org/3078024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-04 09:30:55 +00:00
sgjesse@chromium.org
ff00c907cd
VirtualAlloc on Windows 7 does not currently provide sufficient randomization to protect JIT code from being aligned in large regions at a predictable location.
...
This patch manually randomizes the allocation address for PAGE_EXECUTE_READWRITE regions between kAllocationRandomAddressMin and kAllocationRandomAddressMax.
BUG=none
TEST=allocate lots of javascript code and check for contiguous allocations
Patch by Paul Mehta <pmehta@chromium.org>
Review URL: http://codereview.chromium.org/2832095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-02 15:27:25 +00:00
whesse@chromium.org
571eca3118
Revert r5147 due to failing assert, with no simple solution. Issue 808.
...
Review URL: http://codereview.chromium.org/3087001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-02 15:08:17 +00:00
lrn@chromium.org
24cf5459f5
Added support for ES5's propertyname production.
...
Object initialisers and dot-notation property access allows keywords in ES5.
Also allowed non-identifiers after "get" or "set" in an object initialiser.
Review URL: http://codereview.chromium.org/3047038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-02 12:09:10 +00:00
whesse@chromium.org
f913595828
Prepare push to trunk. Now working on version 2.3.5.
...
Review URL: http://codereview.chromium.org/3040030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-02 11:02:38 +00:00
vegorov@chromium.org
4a2f05ce35
Fix issue 806.
...
Ensure that we are not using r12 as a receiver in inlined NamedStore code.
Review URL: http://codereview.chromium.org/3081007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-02 09:14:44 +00:00
lrn@chromium.org
66574f31de
Unicode: Reduced size of tables.
...
Review URL: http://codereview.chromium.org/3043032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-30 12:59:57 +00:00
peter.rybin@gmail.com
a9958afeee
Roll over again fixed 3029033 Fix 'step in' after live edit stack manipulation
...
Review URL: http://codereview.chromium.org/3066018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-30 11:58:43 +00:00